互联⽹通信简述互联⽹通信简述
互联⽹通信就是两台计算机通过⽹络实现⽂件共享的⾏为。
如:
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⽂件的实例对象,通过实例对象去调⽤对应的⽅法,然后将⽅法的执⾏结果转化成⼆进制数据发送给请求浏
览器。
简要图解简要图解
程序员(我们)需要做的事情:
控制请求浏览器的⾏为,包括:请求地址,请求⽅式,请求参数;
开发动态资源解决⽤户的请求;
采⽤对应的编译器解析⼆进制数据,负责结果的执⾏与展⽰(局部刷新/全局刷新);
负责浏览器与⽤户之间的交互。
这些都在之后的⽂章内容中。