码迷,mamicode.com
首页 > Web开发 > 详细

HTTP协议扫盲(九 )HTTP1.1响应的Transfer-Encoding=chunked方式

时间:2017-09-07 19:22:37      阅读:491      评论:0      收藏:0      [点我收藏+]

标签:协议   技术   方式   客户   背景   开头   bsp   技术分享   编码方式   

一、背景知识

1、chunked编码

分块传输编码(Chunked transfer encoding)是只在HTTP协议1.1版本(HTTP/1.1)中提供的一种数据传送机制。以往HTTP的应答中数据是整个一起发送的,并在应答头里Content-Length字段标识了数据的长度,以便客户端知道应答消息的结束。

2、好处

对于动态生成的应答内容来说,内容在未生成完成前总长度是不可知的。因此需要先缓存生成的内容,再计算总长度填充到Content-Length,再发送整个数据内容。这样显得不太灵活,而使用分块编码则能得到改观。
分块传输编码允许服务器在最后发送消息头字段。例如在头中添加散列签名。
对于压缩传输传输而言,可以一边压缩一边传输。

3、格式

如果在http的消息头里Transfer-Encoding为chunked,那么就是使用此种编码方式。接下来会发送数量未知的块,每一个块的开头都有一个十六进制的数,表明这个块的大小,然后接CRLF("\r\n")。然后是数据本身,数据结束后,还会有CRLF两个字符。有一些实现中,块大小的十六进制数和CRLF之间可以有空格。
最后一块的块大小为0,表明数据发送结束。最后一块不再包含任何数据,但是可以发送可选的尾部,包括消息头字段。消息最后以CRLF结尾。

4、案例

技术分享

技术分享

二、编码发送

 

三、编码接收

 

HTTP协议扫盲(九 )HTTP1.1响应的Transfer-Encoding=chunked方式

标签:协议   技术   方式   客户   背景   开头   bsp   技术分享   编码方式   

原文地址:http://www.cnblogs.com/lexiaofei/p/7491148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!