【问题标题】:What are the benefits of specifying a Content-Length header in HTTP/1.0 responses?在 HTTP/1.0 响应中指定 Content-Length 标头有什么好处?
【发布时间】:2014-09-02 10:45:36
【问题描述】:
HTTP/1.0 规范规定,服务器可以通过
指示包含实体主体的响应的长度
- 发送
Content-Length 标头,或
- 在发送整个响应后关闭连接。
所以Content-Length 标头对于图像、Html 页面或 Ajax 数据等正常响应是可选。
由于提供了该标头,因此在某些情况下使用它会带来一些好处。
所以问题是:这些案例是什么,有什么好处?
(例如:如果响应是一个正在下载的文件,如果指定了Content-Length,浏览器会显示一个进度条。)
【问题讨论】:
标签:
http
http-content-length
【解决方案1】:
当内容长度可预测时,将其传达给客户端会有所帮助,因为这样可以立即分配所需的内存和磁盘空间,从而实现更有效的传输,并在所需资源不可用时提前中止给客户。
这优化了传输,有利于服务器和客户端。
当无法预测内容长度时(例如,因为它是动态生成的),这些优化显然是不可能的。