【问题标题】:Is it mandatorty to keep the connection-alive property when we use chunked property?当我们使用分块属性时,是否必须保持 connection-alive 属性?
【发布时间】:2013-06-20 10:02:04
【问题描述】:

我的客户设置了以下标头:

Transfer-Encoding: chunked
Connection: Keep-Alive

当我检索响应时,我收到 Transfer-Encoding: chunked 标头,但没有 Connection: Keep-Alive 标头。出于这个原因,我相信我的客户可能只收到了部分回复。

现在我的问题是:

是否必须在HTTP/1.1 中设置Connection: Keep-Alive 属性?

【问题讨论】:

  • 如果@rdlowrey 的回答解决了您的问题,请考虑接受。如果没有,请考虑详细说明您认为它没有解决您的问题的原因。在我看来,它确实解决了你的问题。

标签: http http-headers http-1.1 http-1.0


【解决方案1】:

简而言之,没有。在没有遵循 HTTP/1.1 的消息的 Connection 标头的情况下,默认情况下是持久的 Keep-Alive 连接。如果存在连接标头,则双方都应根据该标头的值采取相应的行动。

RFC 2616 Section 8.1.2所述:

HTTP/1.1 与 HTTP 早期版本之间的显着差异 持久连接是任何 HTTP 的默认行为 联系。也就是说,除非另有说明,客户端应该 假设服务器将保持持久连接,即使 在服务器的错误响应之后。

当然,如果您希望在传输完成后关闭连接,这并不妨碍您显式设置 Connection: close 标头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 2011-03-26
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    相关资源
    最近更新 更多