1.Http网络协议包
1.1.基本认识
-
网络中信息传递都是以【2进制】进行的。接收方【浏览器、服务器】在接受信息后第一件事就是把【二进制】数据解析为【文字、图片、视频、命令】
-
传递信息的数据量往往比较巨大,导致接收方很难在一组连续的【2进制数据】中找到【对应的数据】。
-
比如:浏览器发送1个请求:
-
http://192.168.100.2:8080/index.html
这个请求信息以二进制形式发送:
-
01010101010110101010101101010
Http服务器很难从二进制数据得到相关信息
1.2.网络协议包
- 它是1组有规律的2进制数据,在这组数据里存在了固定空间。
每一个空间专门存放特定信息,这样接收方在接收网络协议包之后就可以到固定空间得到对应信息,网络协议包出现极大降低了接收方对接收二进制数据编译难度 - 【0000(ip地址)0000(端口号)0000(资源文件名)0000】
2.常见的网络协议
- FTP网络协议包
- HTTP网络协议包
2.1.Http请求协议包与Http响应协议包介绍:
2.1.1.Http请求协议包
- 在浏览器准备发送请求时,负责创建1个【Http请求协议包】。浏览器将请求信息以2进制形式保存在【Http请求协议包】各个空间。
- 由浏览器负责将Http请求协议包推送到指定服务端计算机
2.1.2.Http响应协议包
- Http服务器在定位到被访问的资源文件后,负责创建一个Http响应协议包,
- Http服务器将定位文件内容或则文件命令以二进制形式写入到Http响应协议包各个空间
- 由Http服务器负责将Http响应协议包推送回发起请求的浏览器上。
2.2.Http请求3要素——Http请求协议包内部空间:【背】
- 1.请求行:(包含URL地址,Method请求方式)
- 2.请求头:(请求参数信息GET)
- 3.请求体:(请求参数信息POST)
- 1.按照自上而下,划分为4个空间
- 请求行:
-
[ url:请求地址(http://192.168.100.2:8080/index.html) method:请求方式(POST/GET) ]
请求头:
-
[ 请求参数信息【GET】 ]
空白行:
-
[ 没有任何内容,起到隔离作用 ]
请求体:
-
[ 请求参数信息【POST】 ]
2.3.Http响应3要素——Http响应协议包内部结构 【背】
- 1.状态行:(Http状态码)
- 2.响应头:(content-type:指定浏览器的编译器)
- 3.响应体:(静态资源文件,动态资源文件)
1.按照自上而下划分,分为4个空间
状态行:
-
[ Http状态码 ]
响应头:
-
[ content-type:指定浏览器采用对应编译器 对相应数据进行解析 ]
空白行:
-
[ 没有任何内容,起到隔离作用 ]
响应体:
-
[ 可能被访问的静态资源文件内容 可能被访问的【静态资源文件】命令 可能被访问的【动态资源文件】运行结果 ]