[http] http body中chunked数据的编码格式
一
我们知道,http response的body可以使用chunked编码。这个时候不需要显示的
指定content-length来标记结尾。
如:
我们可以见到编码的chunked字样,并且没有看见content-length。
二
chunked的编码格式
由 length(1)\r\n data(1)\r\n length(2)\r\n data(2)…… 循环组成
如图
图中的 653964的ascii码是,e9d,e9d的十进制表示为:3741, 代表这个chunked块的长度为3741字节。
三
没有了content-length之后,http需要一种方式知道数据块已经结束了。chunk在数据的最后追加一个空块(长度为0的块)
来表示数据的结尾,如图:
30代表accii码的数字0,也就是表达一个形如:0\r\n\r\n 代表一个空块。