以后的TCP连接发生了什么
HTTP会话的结束?
例如,从网络服务器加载静态网页后
由于
答案 0 :(得分:1)
HTTP会话通常是指服务器与特定用户保持关联,并且可能具有任何长度(例如,使用cookie作为关联令牌)。
因此,HTTP会话通常包含多个TCP会话。对于非持久性HTTP连接,每个请求都有自己的TCP会话(之后关闭)。另一方面,对于持久性HTTP连接,可以在TCP会话中获取多个HTTP资源,并且任何一方都会在任一方达到超时阈值时关闭它。
Wikipedia article on Persistent HTTP connections(Keep-Alive:true)
答案 1 :(得分:0)
您可以在一个TCP连接中拥有多个HTTP请求。因此,如果您将HTTP会话称为一组HTTP请求/响应,则TCP连接将被关闭。
在TCP级别,关闭方发送一个设置了FIN标志的数据包,另一方用ACK确认这一点,并立即或最终完成自己的FIN,第一个用ACK再次确认。也可以使用RST而不是FIN标志放弃连接。发送第一个FIN的端口进入TIME_WAIT状态。这用于拒绝随后到达的数据包,否则这些数据包将被误解为新连接的数据包。超时后,端口从TIME_WAIT状态进入CLOSED状态。
编辑:正常终止由FIN标志指示。