【问题标题】:In What conditions are closing a HTTP connection necessary?在什么情况下需要关闭 HTTP 连接?
【发布时间】:2010-07-17 18:04:09
【问题描述】:

在什么情况下需要关闭 HTTP 连接?

【问题讨论】:

  • HTTP 是无状态的;没有 HTTP 连接之类的东西。只能关闭对应的 TCP 连接。
  • 甚至我都不知道HTTP connection这个词出现在http://stackoverflow.com/questions/3270414/close-connection-in-php-but-keep-executing-script

标签: php http connection


【解决方案1】:

HTTP 不是具有“连接”的协议类型;这就是他们所说的“无状态”,这意味着每个请求都与其他请求分开。这就是为什么我们有会话cookie之类的东西;人们必须以某种方式进行黑客攻击,以允许信息在请求之间传递。

现在,即使它们是分开的,HTTP 1.1 也允许客户端通过同一个 TCP/IP 连接发出多个请求(虽然它是与 HTTP 服务器的连接,但在 TCP/ IP 栈)。这些请求仍然是分开的,但您不必打开新的网络连接。这可以提高一些效率,因为打开网络连接可能会很昂贵。

如果您想利用这一点,请查看请求和响应中的标头。如果请求使用低于 1.1 的 HTTP 版本,或者有一个标头为 Connection: close,则在处理当前请求后连接将消失。否则,一旦它被清除(通常通过读取上一个请求中的所有数据),它就可以被重用。

【讨论】:

    猜你喜欢
    • 2013-06-26
    • 1970-01-01
    • 2016-07-13
    • 2014-08-03
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    相关资源
    最近更新 更多