网络协议包
-
在网络中传递信息都是以【二进制】形式存在的
-
接收方【浏览器/服务器】在接收信息后,要做的第一件事就是将【二进制数据】编译成【文字,图片,视频,命令】
-
传递信息数据量往往比较巨大,导致接收方很难在一组连续二进制中得到对应数据。
比如一个请求:http://192.168.100.2:8080/index.html
里面包含了ip地址 端口号,请求的文件名称等数据。http服务器很难从二进制数据中得到相关信息
- 网络协议包:有规律的二进制数据,在这组数据中存在了固定空间,每一个空间专门存放特定的信息,这样,接收方在接收到网络协议包之后,就可以到固定空间得到对应信息。网络协议包的出现极大的降低了接收方对接收到的二进制数据编译的难度。
【0000(ip地址) 0000(端口号) 0000(资源文件名称) 0000 】
常见的网络协议
不同的协议包,运用场景不同。比如说邮寄包裹时,邮易碎品和保鲜品的包裹方式不同
- ftp网络协议包
- http网络协议包
http网络协议包
在基于b/s结构下互联网通信过程中,所有在网络中传递的信息都是保存在http网络协议包中的。
http请求协议包
在浏览器准备发送请求时,负责创建一个http请求协议包。
浏览器将请求信息以二进制形式保存在http请求协议包的各个空间内
再由浏览器把http请求协议包推送到指定的服务器计算机中。
http响应协议包
http服务器在定位到被访问的资源文件之后。
负责创建一个http响应协议包。
http服务器将定位文件内容或者命令以二进制形式写入到http响应协议包中
最后再由http服务器负责将http响应协议包推送回发起请求的浏览器上。
http请求协议包内部空间(重点)
-
按照自上而下划分,分为四个空间。
- 请求行:url(请求地址) method(请求方式 post/get)
- 请求头:请求参数信息(如果请求方式是get)
- 空白行:没有任何内容,起到一个隔离作用,隔离请求头和请求体
- 请求体:请求参数信息(请求方式是post)
http响应协议包
-
按照自上而下,分为四个空间
- 状态行:http状态码 200ok 404 notfound
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QMzIzXqO-1613143303882)(C:\Users\ThinkPad\AppData\Roaming\Typora\typora-user-images\image-20210209201519566.png)]
- 响应头:content-type:指定浏览器采用对应编译器对响应体二进制数据进行解析
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6BzXI7yL-1613143303884)(C:\Users\ThinkPad\AppData\Roaming\Typora\typora-user-images\image-20210209201503219.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UM9v3Jce-1613143303885)(C:\Users\ThinkPad\AppData\Roaming\Typora\typora-user-images\image-20210209201703692.png)]
空白行:没有任何内容,隔离作用
响应体:可能是被访问静态资源文件的内容
可能是被访问的静态资源文件命令
可能是被访问的动态资源文件的运行结果
都是以二进制形式存在的