HTTP报文1
报文分为 请求报文和响应报文
报文结构
HTTP报文组成
分为 报文首部 和 报文主体 两块,两者用空行(CR+LF)划分,通常不一定要有报文主体
报文首部 |
---|
空行(CR+LF) |
报文主体 |
请求报文的报文首部组成
请求行 |
---|
请求首部字段 |
通用首部字段 |
实体首部字段 |
其他 |
响应报文的报文首部组成
状态行 |
---|
响应首部字段 |
通用首部字段 |
实体首部字段 |
其他 |
案例
HTTP/1.1 200 OK 请求行/状态行 |
---|
Host: hackr.jp 首部字段 |
User-Agent: Mozilla….. 首部字段 |
空行(CR+LF) |
<htm xmlns=”….”…… 报文主体 |
编码提升传输速率
编码
通常情况下报文实体等于实体实体
但是如果进行编码后,报文主体传输的实体主体被编译发生变化,因此报文主体这部分被编译的实体主体和服务端或客户端发送的数据不一致,因此实体主体和报文主体产生差异–如今实体主体是编码数据
编码就是通过某种方式用ZIP压缩文件,内容编码有许多类型
分块
在HTTP通信过程中,请求的编码实体资源尚未全部传输完成时,浏览器无法显示请求页面(资源过大)
就是把数据分割成很多快,能够让浏览器逐步显示页面
多部分对象集合
multipart/form-data
Web文件上传
multipart/byteranges
状态码206(partial content)
内容协商
同一个URL同一个页面同一种资源显示不同的语言页面
这就需要内容协商
客户端和服务端进行协商
服务器驱动协商
由服务器进行内容协商,以请求的首部字段为参考
客户端驱动协商
由客户端进行内容协商的方式,用户从浏览器显示的可选项列表中手动选择
透明协商
服务器和客户端驱动的结合体,各自协商
资源大小
在首部字段中加上
Range: bytes= 多少 - 多少
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Echin の 博客!