JavaWeb-01-Http网络协议-02-Http网络协议包

JavaWeb-01-Http网络协议-02-Http网络协议包

1.第二版互联网通信流程图

2.网络协议包

1.在网络中传递的信息都是以二进制形式存在的。

2.接收方(浏览器/服务器)在接收到信息后,第一件事就是将二进制数据编译成文字、图片、视频和命令。

3.传递的信息数据量往往都比较巨大,导致接收方很难在一组连续的二进制中的得到对应数据。

​ 比如:浏览器发送一个请求:http://192.168.100.6:880/index.html

​ 这个请求以二进制的形式发送:100111010101010010001100

​ Http服务器很难从该二进制数据中找到相关有用信息。

​ 这时,我们就可以使用网络协议包。

4.网络协议包就是一组有规律的二进制数据。

​ 在这组数据中存在多个固定的空间,每一个空间都专门存放特定的信息。

​ 如此,在接收方接收到网络协议包后,就可以从固定空间中得到相应的信息。

​ 网络协议包的出现,极大地降低了接收方对二进制数据的编译难度。

​ 网络协议包的格式:

​ 【0000 (ip地址) 0000 (端口号) 0000 (资源文件名) 0000】

​ 注意:网络协议包都是由二进制组成的。

​ 网络协议包就好比是快递包裹的包装,将数据包装起来。

3.常见的网络协议包

1.FTP网络协议包

2.Http网络协议包

4.Http网络协议包

在基于B/S结构下的互联网通信过程中,所有在网络中传输的信息都保存在Http网络协议包中。

Http网络协议包分为:

  1. Http请求协议包
  2. Http响应协议包

4.1Http请求协议包

在浏览器准备发送请求时,负责创建一个Http请求协议包,

然后浏览器将请求信息以二进制形式保存到Http请求协议包里的各个空间,

最后由浏览器负责将Http请求协议包推送到指定服务端计算机。

4.2Http响应协议包

Http服务器在定位到被访问的资源文件后,负责创建一个Http响应协议包,

然后Http服务器将定位的文件内容或者文件命令以二进制的形式写入到Http响应协议包里的各个空间。

最后由Http服务器将Http响应协议包发送回发起请求的浏览器上。

5.Http请求协议包内部空间划分【重要】

按照自上而下划分,分成四个空间:

1.请求行:
	[
		url:请求地址(http://192.168.100.6:880/index.html)
		method:请求方式(POST/GET)
	]
2.请求头:
    [
        请求参数信息(GET)
    ]
3.空白行:
    [
        没有任何内容,起到隔离请求头和请求体的作用
    ]
4.请求体:
	[
		请求参数信息(POST)
	]

6.Http响应协议包内部空间划分【重要】

按照自上而下划分,同样有四个空间:

1.状态行:
	[
		Http状态码(Status Code)
	]
2.响应头:
    [
        Content-Type:指定浏览器采用对应的编译器对响应体二进制数据进行编译
    ]
3.空白行:
    [
        没有任何内容,起到隔离请求头和请求体的作用
    ]
4.响应体:
	[
		可能是被访问的静态资源文件内容
		也可能是被访问的静态资源文件命令
		也可能是被访问的动态资源文件运行结果
		---都是二进制形式---
	]

posted @ 2021-08-10 22:30  TSCCG  阅读(92)  评论(0编辑  收藏  举报