互联网通信流程

互联网通信流程

背住互联网通信流程中每一个细节

  1. 控制浏览器行为的技术:html css js
  2. 控制硬盘上数据库技术,mysql jdbc规范(mybatis替代)
  3. 控制服务端 java行为的技术 http服务器,servlet接口—> sprint mvc
  4. 互联网通信流程开发规则 mvc
  5. 在线考试管理系统

通信流程

什么是互联网通信?

两台计算机通过网络实现文件共享的行为,就是互联网通信。

互联网通信过程 角色划分

第一个角色:客户端计算机:用于发送请求,来索要资源文件的计算机

第二个角色:服务端计算机:用于接收请求,并提供对应的资源文件的计算机。

互联网通信模型

c/s通信模型

client sofware客户端软件

  • 安装在客户端计算机上
  • 帮助客户端计算机向指定服务端计算机发送请求,索要资源文件
  • 帮助客户端计算机将服务器端计算机发送回来的【二进制数据】解析为【文字,数字,图片,视频,相关命令】

server software服务器软件

  • 专门安装在服务端计算机上
  • 主要用于接收来自特定的客户端软件发送的请求
  • 服务器软件接收到请求之后,自动的在服务器端计算机上定位被访问的资源文件
  • 服务器软件自动的将定位的文件内容解析为【二进制数据】通过网络发送给发起请求的客户端软件

c/s通信模型适用场景:普遍用于个人娱乐市场:微信,淘宝京东,优酷/b站,大型网络游戏

企业办公领域应用较少(缺点第一条,成本高)

优缺点

优点:安全性较高(合法的客户端才能发起请求)

​ 有效的降低服务端计算机的工作压力(一部分命令会交给客户端去执行)

缺点:增加客户获得服务的成本(对客户端的配置有要求,大型游戏,cpu,内存,显卡等)

​ 更新较为繁琐,不能实时更新。

b/s通信模型

browser:浏览器

  • 安装在客户端计算机上的一个软件
  • 可以向任意的服务器发起请求(向百度,向淘宝)
  • 可以将服务器返回的【二进制数据】解析为【文字,数字,图片,视频,命令】

适用场景:既适用于个人娱乐,也广泛适用于企业日常活动

优缺点

优点:不会增加用户获得服务的成本

​ 几乎不需要更新浏览器(在服务器端更新好了,实时返回给浏览器界面)

缺点:几乎无法有效对服务端计算机资源文件进行保护(任何人都可以给服务器发请求,服务器不管认不认识都会response)

服务器端计算机工作压力异常巨大(很多人一起向服务端请求,高并发问题)

共享资源文件

什么是共享资源文件?

可以通过网络传输的文件,都被称为共享资源文件。

所有的文件内容都可以通过网络传输,所有的文件都是共享资源。

http服务器(8080)下对于共享资源文件的分类

静态资源文件

  • 文件内容是固定的
    • 文档,图片,视频
  • 文件中存放的不是内容,而是命令,这些命令只能在浏览器中编译与执行。
    • html css js

动态资源文件

  • 如果文件存放的是命令,并且命令不能在浏览器中编译与运行,只能在服务端计算机进行编译执行。(java类文件 .class)

静态与动态文件调用的区别

静态文件被索要时,http服务器直接通过**【输出流】**将静态文件中内容或者命令以【二进制形式】推送给发起请求的浏览器。

动态文件被索要时:http服务器需要创建当前class文件的实例对象,通过实例对象调用对应的方法处理用户请求,通过输出流运行结果以二进制的形式推送给发起请求的浏览器

//被索要的动态文件 student类
class Student(){
    
    
	public int add(int num1,int num2){
    
    
		int sum = num1+num2;
		return sum;
	}
}
//服务器端通过创建student的实例对象,然后通过实例对象调用add方法
Student stu = new Student();
int result = stu.add(1,2);
out.print(result)

互联网通信流程图

image-20210209174035049

开发人员在互联网通信流程担负的职责

浏览器

控制浏览器的行为【三要素】(客户端计算机)

  • 控制浏览器发送的请求地址<a><a/> < form/>`
  • 控制浏览器发送请求的方式:Post/get
  • 控制浏览器发送请求时所携带的参数:超链接标签携带参数,表单域标签携带参数(input,select,textarea)

既可以由前端工程师负责,也可以由服务端工程师负责。

控制浏览器接收结果行为(服务端工程师)

  • 控制浏览器采用对应【编译器】将接收的二进制数据解析为【文件,视频,图片,命令】
  • 控制浏览器将解析后的内容或者命令进行执行与展示(全局刷新展示,局部刷新展示)
  • 控制用户与浏览器之间的交流(js—>jquery)

服务器端计算机(http服务器)8080

静态资源文件

开发动态资源文件,来解决用户的请求

  • java世界中 class文件才是动态资源文件

  • http服务器接收请求后负责创建类文件实例对象,Servlet sercvlet = new servlet

  • http服务器通过实例对象调用方法处理用户请求

    servlet.doget(){

    }返回结果

  • http服务器负责将方法运行结果以二进制形式推送给发送请求的浏览器

mysql数据库服务器 3306

不能接收浏览器的直接请求,只能接收特殊客户端的请求(dos窗口,idea等 c/s通信模型)

猜你喜欢

转载自blog.csdn.net/weixin_43903813/article/details/113798020