http1.1的特性
- 长连接connection:keep alive
- 块编码:transfer-encoding:123 表示有多少字节将会以块编码模式发送。在http1.0时候,每条连接就是一个connection,发送时候通过content-length便可以知晓回报内容长度。但在http1.1上,每个connction负责多个请求,一些请求在还未完全加载完就要先发送,这时候就要用块编码发送了。如下图,1D,是 29 的十六进制,指示第一块由 29 个字节组成,0\r\n 标识这个事务的结束。
- 持续状态 Expect: 100-continue ,让客户端有很长的报文发送后服务器却简单回个拒绝是个很蛋疼的事情,一般发生在客户端大请求实体时候,先通过 Expect: 100-continue给服务器,服务器响应100的状态码后,客户端才开始慢慢上传.
假设你想用 2 个块发送以下 38 个字节,第一个长度是 29,第二个长度是 9。
I’m as helpless as a kitten up a tree.
1D\r\n
I’m as helpless as a kitten u
9\r\n
p a tree.
0\r\n