0

我的客户设置以下标头:

Transfer-Encoding: chunked
Connection: Keep-Alive

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

现在我的问题是:

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

4

1 回答 1

2

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

RFC 2616 第 8.1.2 节所述:

HTTP/1.1 和早期版本的 HTTP 之间的一个显着区别是持久连接是任何 HTTP 连接的默认行为。也就是说,除非另有说明,否则客户端应该假设服务器将保持持久连接,即使在服务器的错误响应之后也是如此。

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

于 2013-06-21T01:06:07.943 回答