[http] http body中chunked数据的编码格式

我们知道,http response的body可以使用chunked编码。这个时候不需要显示的

指定content-length来标记结尾。

如:

我们可以见到编码的chunked字样,并且没有看见content-length。

[classic_tong @ 20191030]

chunked的编码格式

由 length(1)
 data(1)
 length(2)
 data(2)…… 循环组成

如图

图中的 653964的ascii码是,e9d,e9d的十进制表示为:3741, 代表这个chunked块的长度为3741字节。

没有了content-length之后,http需要一种方式知道数据块已经结束了。chunk在数据的最后追加一个空块(长度为0的块)

来表示数据的结尾,如图:

30代表accii码的数字0,也就是表达一个形如:0 代表一个空块。

原文地址:https://www.cnblogs.com/hugetong/p/11765949.html