首页 文章

服务器是否应该遵守HTTP连接:从客户端发送的关闭标头?

提问于
浏览
8

我有一个HTTP客户端,在我发出请求时将Connection标头设置为以下值:

Connection: close

但是,当服务器发送响应时,它会将标头设置为Keep-Alive:

Connection: Keep-Alive

这对我来说似乎是直觉上的错误,我想知道客户端应该如何处理来自服务器的响应?另外,为什么服务器会响应Keep-Alive,当客户端要求关闭连接时,这是否有效?

根据HTTP RFC:

“HTTP / 1.1为发送方定义了”关闭“连接选项,以表示在完成响应后连接将被关闭 . 例如,

Connection: close

在请求或响应头字段中,表示在当前请求/响应完成后,连接不应被视为“持久”(第8.1节) . “

2 回答

  • 6

    没关系 . 您告诉服务器您不支持持久连接,它告诉您它 . 任何一方在关闭连接时都是完全有效的 - 它更多的是关于两者支持的信息,而不是你必须关闭这个连接命令 .

  • 13

    客户端说我将在当前请求/响应完成时关闭连接,或者换句话说,表示您不要告诉服务器关闭连接 . 服务器回复它支持持久连接(keep-alive) .

    正如您告诉服务器您不支持持久连接一样,您应该在阅读响应时关闭连接 .

相关问题