http头字段Transfer-Encoding:chunked(分块编码传输)


响应头字段Transfer-Encoding:chunked

HTTP

分块编码(Transfer-Encoding: chunked)

持续连接的问题:对于非持续连接,浏览器可以通过连接是否关闭来界定请求或响应实体的边界;
而对于持续连接,这种方法显然不奏效。有时,尽管我已经发送完所有数据,
但浏览器并不知道这一点,它无法得知这个打开的连接上是否还会有新数据进来,只能傻傻地等了。
用Content
-length解决:计算实体长度,并通过头部告诉对方。浏览器可以通过 Content-Length 的长度信息,判断出响应实体已结束
Content
-length引入的新问题:由于 Content-Length 字段必须真实反映实体长度,
但是对于动态生成的内容来说,在内容创建完之前,长度是不可知的。这时候要想准确获取长度,
只能开一个足够大的 buffer,等内容全部生成好再计算。但这样做一方面需要更大的内存开销,另一方面也会让客户端等更久。
我们需要一个新的机制:不依赖头部的长度信息,也能知道实体的边界——分块编码(Transfer
-Encoding: chunked)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM