互联网通信简述
互联网通信就是两台计算机通过网络实现文件共享的行为。
如:
A向B要求想要一部电影;
B接收到请求,然后把电脑发给A;
A接收到电影。
角色划分
在上述的角色中,A是索要文件的,即是发送请求的,称为客户端;
而B是提供资源的,即是给出响应的,称为服务端。
互联网通信模型
-
C/S架构(Client/Server):即客户端软件,向指定的计算机上指定的软件发送请求,而服务器软件,接收指定的计算机中指定的软件发送的请求,并且将客户端所需要的文件资源以二进制数据的形式发送给客户端,而客户端解析服务端发来的二进制数据。
优点:安全性高,有效降低服务器的压力;
缺点:增加了客户获得服务的成本(因为要下载软件),并且更新频繁。
-
B/S架构(Browser/Server):即客户端上的浏览器可以向任意一台计算机发送请求,索要资源文件,服务端上的浏览器也可以接收任意一台计算机发来的请求,以二进制数据返回客户端所需要的资源,客户端解析服务端所发来的二进制数据。
优点:获得服务的成本低,只需要安装一个浏览器即可,并且浏览器不需要经常更新;
缺点:安全性低,服务器端压力大。
C/S架构更多的应用于一些娱乐上,而B/S架构更多的用于企业,也可用于娱乐。而JavaWeb开发都是基于B/S架构的。
共享资源分类
这里所说的共享资源是可以通过网络传输的文件,HTTP服务器将共享资源文件分为静态资源和动态资源:
- 静态资源:文件内容固定的,如文档、图片、视频等,以及一些存放在命令的文件,这些命令是可以在浏览器上编译和执行的,如hyml、css、js文件等。HTTP服务器直接通过输出流将静态文件内容或命令以二进制的数据发送给请求浏览器。
- 动态资源:文件中存放的是命令,并且这些命令不能在浏览器上编译执行,只能在服务器计算机上编译执行,如class文件等。HTTP服务器要先创建当前class文件的实例对象,通过实例对象去调用对应的方法,然后将方法的执行结果转化成二进制数据发送给请求浏览器。
简要图解
程序员(我们)需要做的事情:
控制请求浏览器的行为,包括:请求地址,请求方式,请求参数;
开发动态资源解决用户的请求;
采用对应的编译器解析二进制数据,负责结果的执行与展示(局部刷新/全局刷新);
负责浏览器与用户之间的交互。
这些都在之后的文章内容中。