javaweb后端笔记
(笔记中内容在转载基础上加以补充,感谢原博客博主!原博客链接为:原博客)
1. 互联网通信概述
两台计算机通过网络实现文件共享行为,就是互联网通信
互联网通信过程角色划分:
(1)客户端计算机:用于发送请求,来索要资源文件的计算机
(2)服务端计算机:用于接收请求,并提供对应的资源文件计算机
2. 互联网通信模型
(1) C/S通信模型
C:client software 客户端软件
1)客户端软件专门安装在客户端计算机上
2)帮助客户端计算机向指定服务端计算机发送请求,索要资源文件
3)帮助客户端计算机将服务端计算机发送回来【二进制数据】解析为【文字,数字,图片,视频,命令】
S:server software 服务器软件
1)服务器是安装在服务端计算机上的软件
2)服务器软件用于接收来自于特定的客户端软件发送请求
3)服务器软件在接收到请求之后自动的在服务端计算机上定位被访问的资源文件
4)服务器软件自动的将定位的文件内容解析为【二进制数据】通过网络发送回发起请求的客户端软件上
适用场景:C/S通信模型普遍用于个人娱乐市场,比如【微信,淘宝,视频(优酷/B站),大型网络游戏】
企业办公领域相对应用较少
优点:
- 安全性较高
- 有效降低服务端计算机工作压力
缺点:
- 增加客户获得服务的成本
- 更新较为繁琐
(2) B/S通信模型:
B:browser 浏览器
1)浏览器安装在客户端计算机软件
2)可以向任意服务器发送请求,索要资源文件
3)可以将服务器返回的【二进制数据】解析为【文字,数字,图片,视频,命令】
S: server software 服务器软件
1)服务器软件专门安装在服务端计算机上
2)可以接收任意浏览器发送请求
3)自动的在服务端计算机上定位被访问的资源文件
4)自动的将定位的资源文件内容以二进制形式发送回发起请求浏览器上
适用场景: 既适用于个人娱乐市场,又广泛适用于企业日常活动
3. 共享资源文件
可以通过网络进行传输的文件,都被称为共享资源文件
所有的文件内容都可以通过网络传输,所有文件都是共享资源文件
Http服务器下对于共享资源文件分类:
- 静态资源文件
a) 若文件内容固定,这种文件可以被称为静态资源文件(文档,图片,视频);
b) 若文件存放的不是内容而是命令,这些命令只能在浏览器编译与执行,这种文件可以被称为静态资源文件(html,.css,.js);
c) 静态文件被索要时,Http服务器直接通过【输出流】将静态文件中内容或则命令以【二进制形式】推送给发起请求浏览器;
- 动态资源文件
a) 如果文件存放命令,并且命令不能在浏览器编译与执行;
b) 只能在服务端计算机编译执行,这样的文件可以被称为动态资源文件(.class);
c) 动态文件被索要时,Http服务器需要创建当前class文件的实例对象,通过实例对象调用对应的方法处理用户请求,通过【输出流】将运行结果以【二进制形式】推送给发起请求浏览器;
eg:
class Student{
public int add(int num1,int num2){
int sum = num1 + num2;
return sum;
}
}
Http服务器(自动)
Student stu = new Student();
int result = stu.add(10,20);
out.print(result);
4. 后端开发人员在互联网通信流程担负职责
- 控制浏览器请求行为
- 开发动态资源文件来解决用户请求
- 控制浏览器接收结果行为