2010-07-17 202 views
0

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

+2

HTTP是无状态的;没有像HTTP连接那样的东西。您只能关闭相应的TCP连接。 – Gumbo 2010-07-17 18:07:26

+0

即使我不知道术语“HTTP连接”,它出现在http:// stackoverflow.com/questions/3270414/close-connection-in-php-but-keep-executed-script中 – Starx 2010-07-17 18:28:26

回答

10

HTTP不是具有“连接”的协议类型;这就是他们所说的“无状态”,意味着每个请求都与其他请求分开。这就是为什么我们有类似会话cookie的原因;人们不得不通过一种方式来允许在请求之间传递信息。

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

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

相关问题