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

理解HTTP协议中的"Transfer-Encoding: chunked"

2014-01-22 20:24 537 查看
通常,HTTP协议中使用Content-Length这个头来告知数据的长度。然后,在数据下行的过程中,Content-Length的方式要预先在服务器中缓存所有数据,然后所有数据再一股脑儿地发给客户端。

如果要一边产生数据,一边发给客户端,WEB 服务器就需要使用"Transfer-Encoding: chunked"这样的方式来代替Content-Length。

"Transfer-Encoding: chunked"是这样编码的:

HTTP头

\r\n

\r\n --连续的两个\r\n之后就是HTTP体了

16进制值代表的数据长度

\r\n

上面所指的数据长度

\r\n --每段数据结束后,以\r\n标识

16进制代表的第二段数据

\r\n

XX长度的数据

\r\n

………… (反复通过这样的方式表示每次传输的数据长度)

0 --数据结束部分用0表示,然后是连续的两个\r\n

\r\n

\r\n
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: