http chunked编码格式

http的响应数据由下面2部分构成:
响应头 + 数据部分
数据部分的格式由响应头说明
一般情况下,HTTP的响应头包含Content-Length域来指明数据的长度,例如:
            
有时候,服务器生成HTTP响应时,不好确定响应数据的大小,可能是大文件的下载或后台需要复杂的逻辑处理生成页面,这样一般就使用chunked编码进行传输。使用chunked编码进行传输不用事先说明要传输的页面内容的大小,通过一定的规则指明传输结束。            
通常使用chunked编码进行传输的时候,会先将数据进行压缩。HTTP响应头中的Content-Encoding域指明了压缩格式。

 当数据很大的时候,还会分多个块(chunk)传输。chunked编码的格式如下:

注意chunk数据长度的单位是字节,不包括后面的\r\n。以一个长度为0的块作为结尾。
把所有的chunk数据部分组合起来存入文件,就是一个标准的gzip压缩文件。

猜你喜欢

转载自www.cnblogs.com/wangshaowei/p/12718110.html