HTTP请求或者响应里的Content-Length头的值是怎么算的?¶
Content-Length的计算方式¶
Content-Length
头既可以用于客户端发起的请求(request),也可以用于服务器端返回的响应(response):
- 用于request时,
Content-Length
表示request body的大小。request body可以简单理解为request header以外的数据,比如表单数据、上传的文件数据。 - 用于response时,
Content-Length
表示response body的大小。response body可以简单理解为responset header以外的数据,比如html文本、下载的文件数据。
为什么有些请求/响应里面没有包含Content-Length头?¶
很多web客户端、服务器在传输数据时,是先发送header,然后发送body的。发送header的时候,程序可能还不知道body的大小,自然无法带上Content-Length头。
当然,程序也可以先把body的大小算出来后,再一起发送header和body。但是这样的话性能上会略微差一些,因为这意味着程序可能需要把body整个暂存在内存里。
本文为kyleblog.cn原创,转载请注明出处:https://www.kyleblog.cn/posts/http_content_length
发布日期:2023-02-01
联系作者