KyleBlog.cn 文章 标签 关于
文章 标签 关于

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 联系作者