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