1.请求报文及响应报文的结构
1-1 请求报文
- 报文首部
- 请求行
- 请求首部字段
- 通用首部字段
- 实体首部字段
- 空行(CR+LF)
- 报文主体
1-2 响应报文
- 报文首部
- 状态行
- 响应首部字段
- 通用首部字段
- 实体首部字段
- 空行(CR+LF)
- 报文主体
2.编码提升传输速率
- 压缩传输的内容编码
- 分割发送的分块传输编码
2-1 压缩传输的内容编码
- gzip(GNU zip)
- compress(UNIX 系统的标准压缩)
- deflate(zlib)
- identity(不进行编码)
内容编码指明应用在实体内容上的编码格式,并保持实体信息原样压缩。
内容编码后的实体由客户端接收并负责解码。
2-2 分割发送的分块传输编码
在传输大容量数据时,通过把数据分割成多块,能够让浏览器逐步显示页面。
3.发送多种数据的多部分对象集合
HTTP协议采纳了多部分对象集合,发送的一份报文主体内可含有多种类型实体。通常在图片或文本文件上传时使用。
多部份对象集合包含的对象
- mulitipart/form-data
- multipart/byteranges
4.获取部分内容的范围请求
以前如果下载过程种遇到网络中断的情况,那就必须从头开始。为了解决这个问题,需要一种可恢复的机制,即从中断处下载。
// 5001 - 10000字节
GET /tip.jpg HTTP/1.1
Host: www.usagidesign.j
Range: bytes=5001-10000
5.内容协商返回最合适的内容
- 内容协商机制是指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为合适的资源。
- 内容协商会以语言、字符集、编码(即请求报文种某些首部字段)等方式为基准判断响应的资源。
- Accept
- Accept-Charset
- Accept-Encoding
- Accept-Language
- Content-Language