Http POST数据包和Content-Length字段问题

时间:2013-10-05 08:59:05

标签: http http-post http-content-length

我需要用POST方法写一个完整的http请求包。 POST要求接受Content-Length字段,但在我写完所有内容之前我不知道数据包大小。我可以在http请求结束时添加Content-Length字段吗?和Content-Length字段大小需要包含在长度计数中吗?

3 个答案:

答案 0 :(得分:0)

不,标题字段首先出现。您需要缓冲,或使用Transfer-Encoding:chunked(在这种情况下,您不需要Content-Length)。

答案 1 :(得分:0)

也许我不完全理解您的问题,但为什么需要在Content-Length字段中放入数据包大小? Content-Length包含消息正文的大小(发布内容),而不是数据包大小。

根据specs

  

Content-Length实体标题字段指示实体主体的大小

答案 2 :(得分:0)

如果您不知道答案的确切大小,则无需指定内容长度。

此外,它还取决于您使用的HTTP版本。

对于v1.0,您可以发送数据,直到到达流的末尾,然后您可以简单地关闭连接,这是HTTP 1.0的正常行为。