您的位置:首页 > 理论基础 > 计算机网络

Http 分块传输编码 Transfer-Encoding: chunked

2016-07-07 18:50 357 查看
定义

分块编码就是把报文分割为若干大小已知的块,一次发送到接收端。

常见使用场景

长连接

发送时无法获取主体长度

其他传输场景

1、非长连接 即发送完数据后就断开连接

接收端读取到EOF(-1)即读取完毕

2、长连接

固定主体长度,通过响应头中的Content-Length决定是否读取结束。

块数据报文结构

Http响应

HTTP/1.1 200 OK <CR><LF>
Content-type: text/plain<CR><LF>
Transfer-encoding: chunked<CR><LF>
Trailer: Content-MD5<CR><LF>
<CR><LF>


第一块(十六进制标示的分块大小 27–>39)

27<CR><LF>
We hold these truths to be self-evident<CR><LF>


第二块(十六进制标示的分块大小 26–>38)

26<CR><LF>
,that all men are created equal,that<CR><LF>


最后一块(以0结尾)

0<CR><LF>


拖挂(如果在响应首部中有定义)

Content-MD5:ofj0a39889a4ug00fas9f3jf0jf<CR><LF>


拖挂可以包含附带的首部字段,他们的值在报文开始的时候可能是无法确定的(例如,必须要先生成主体结构)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: