互联网通信流程
一、什么是互联网通信
两台计算机通过网络实现文件共享行为,就是【互联网通信】。
二、涉及技术
1.控制浏览器行为技术:
HTML、CSS、JavaScript
2.控制硬盘上数据库行为技术:
Mysql数据库服务器管理使用(SQL重点),JDBC规范
3.控制服务端Java行为技术:
Http服务器,Servlet,JSP(输出流)
4.互联网通信流程开发规则:
MVC
三、互联网通信过程角色划分
1.C/S通信模型:
C:client software:客户端软件
1)客户端软件专门安装在客户端计算机上。
2)帮助客户端计算机向指定服务计算机发送请求,索要资源文件。
3)帮助客户端计算机将服务端计算机发送回来【二进制数据】解析为
【文字、数字、图片、视频、命令】。
S:server software:服务器软件
1)服务器软件专门安装在服务端计算机上。
2)服务器软件用于接收来自于特定的客户端软件发送请求。
3)服务器软件在接收到请求之后自动的在服务端计算机上定位被访问
的资源文件。
4)服务器软件自动的将定位的文件内容解析为【二进制数据】通过网
络发送回发起请求的客户端软件上。
适用场景:C/S通信模型普遍用于个人娱乐市场,
比如【微信、淘宝/京东、视频(优酷/B站)、大型网络游戏(魔兽/LOL)】,
企业办公领域相对应用较少。
优缺点:
优点:
1.安全性较高。
2.有效降低服务端计算机工作压力。
缺点:
1.增加客户获得服务的成本。
2.更新较为繁琐。
2.B/S通信模型:
B:browser:浏览器
1)浏览器安装在客户端计算机软件。
2)可以向任意服务器发送请求,索要资源文件。
3)可以将服务器返回的【二进制数据】解析为【文字、数字、图片、视频、命令】
S:server software:服务器软件
1)服务器软件专门安装在服务端计算机上。
2)可以接收任意浏览器发送请求。
3)自动的在服务端计算机上定位被访问的资源文件。
4)自动的将定位的资源文件以二进制形式发送回发起请求浏览器上。
使用场景:
既适用于个人娱乐市场,又广泛适用于企业日常活动。
优缺点:
优点:
1.不会增加用户获得服务成本。
2.几乎不需要更新浏览器。
缺点:
1.几乎无法有效对服务端计算机资源文件进行保护。
2.服务端计算机工作压力异常巨大------->【B/S通信下高并发解决方案】。
四、共享资源文件
1.什么是共享资源文件:
可以通过网络进行传输的文件,都被成为共享资源文件。
所有的文件内容都可以通过网络传输,所有文件都是共享资源文件。
2.Http服务器下对于共享资源文件分类:
1)静态资源文件
2)动态资源文件
3.静态资源文件:
1)如果文件内容是固定的,这种文件可以被称为【静态资源文件】
(文档、图片、视频)
2)如果文件存放的不是内容而是命令,这些命令只能在浏览器编译与执行
这种文件可以被称为【静态资源文件】。
(.html、.css、.js)
4.动态资源文件:
如果文件存放命令,并且命令不能再浏览器编译与执行:只能在服务端计算机
编译执行,这样的文件可以被称为【动态资源文件】(.class)
5.静态资源文件与动态资源文件调用区别:
1)静态文件被索要时,Http服务器直接通过【输出流】将静态文件中内容或者
命令以【二进制形式】推给发起请求浏览器。
2)动态文件被索要时,Http服务器需要创建当前class文件的实例对象,通过
实例对象调用对应的方法处理用户请求,通过【输出流】将运行结果以
【二进制形式】推送给发起请求浏览器。
//Http服务器处理动态文件的过程
class Student {
public int add(int num1,int num2) {
int sum = num1 + num2;
return sum;
}
}
//Http服务器(自动)
class Http {
public static void main(int[] args) {
Student stu = new Student();
int result = stu.add(10,20);
out.print(result);
}
}
五、开发人员在互联网通信流程担负职责
1.控制浏览器行为(3要素)
发送时:
1)控制浏览器发送的请求地址。
2)控制浏览器发送请求方式。
3)控制浏览器发送请求携带参数。
接收时:
1)控制浏览器采用对应【编译器】
将接收二进制数据解析为【文字、视频、图片、命令】。
2)控制浏览器将解析内容或者命令进行执行与展示
(全局刷新展示/局部刷新展示)。
3)控制用户与浏览器之间交流(js -----> jQuery)。
2.开发动态资源文件来解决用户请求
1)在服务器计算机中写动态资源文件(.class)。