http返回头中content-length与Transfer-Encoding: chunked的问题


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

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

当使用Transfer-Encoding: chunked时,传送的实际长度将放到实际内容的首行,如以上截图,36就是实际的长度, 不过这个数是16进制的

最后的数字0  应该就是结束吧,如果没有0\r\n\r\n来结束chunked,会导致解析失败。


??不知道我的理解是不是正确??

猜你喜欢

转载自blog.csdn.net/zhouxj0818/article/details/52383568