HTTP POST:需要 content-length 标头吗?

43
我目前正在尝试优化几个应用程序之间基于HTTP的数据传输。我们目前的方法是先下载再创建POST请求,这显然会增加额外的IO/内存负载和延迟,我希望避免这种情况。
核心问题是:
在HTTP POST请求中是否需要发送“Content-Length”头? 我记得HTTP 2616声明这是可选的,但我不确定应用程序在这一点上的实际行为如何。

1
请参见 https://dev59.com/62Qo5IYBdhLWcg3whPki 以获取响应者的信息。 - Pacerier
1个回答

32

这要看你认为“optional”是什么意思。如果你的意思是随时可以省略头信息,则不行,因为HTTP规范对于何时使用该头信息有非常明确的规定。如果您不知道长度,可以通过分块编码等方式发送数据。

4.4 报文长度


17
简言之,对于POST请求,应该有content-lengthtransfer-encoding:chunked头之一存在。 - Salar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接