文章目录
请求和响应
- HTTP报文:请求报文和响应报文
HTTP报文本身就是由多行数据构成的字符串文本
报文首部:服务器端/客户端需求处理的请求或者响应的内容以及属性
报文主体:数
-
请求报文的结构:
-
响应报文的结构:
编码
- HTTP可以按照数据的原样传输,也可以在过程中编码以提升传输效率,这样可以有效处理大量访问,但会消耗大量的CPU资源
- 例如:压缩编码…
报文主体和实体主体的差异
- 报文message:HTTP通信的基本单位,8位字节流组成
- 实体entity:数据
通常:报文主体 = 实体主体,只有当进行传输编码时实体主体会发生变化
常见编码
【1】压缩传输的内容编码
- 常见的内容编码:gzip,compress,defate,identity
【2】分块传输编码(Chunked Transfer Coding)
-
通过将数据切分成多块,能够让浏览器逐步显示页面
【3】多部份对象集合Multipart
- MIME(多用途因特网邮件扩展机制):允许邮件处理文本、图片、视频等多个不同的类型的数据
- HTTP采用了多部份对象集合方法,一份报文包含多个类型的实体
范围请求
- 以前没有高带宽的互联网,下载一个尺寸稍微大的文件都会很吃力,如果遇到网络终端则要重头开始
- 范围请求:可恢复机制,对下载的内容范围可以设置,从中断的地方重新开始
内容协商
- 同一个Web网站会存在多个相同页面,例如:不同的语言的页面
- 内容协商机制:服务器端和客户端对响应的资源内容进行交涉返回最适合的资源
- 首部:
Accept
Accept - Charset
Accept - Encoding
Accept - Language
Content - Language
- 三种协商类型:
服务器驱动协商(server自动处理)
客户端驱动协商(用户选择)
透明协商(两种驱动结合)