-
第一个场景:HTTP 没有使用长连接 (Connection: Keep-Alive or Connection:close)
-
第二个场景:HTTP 长连接超时(注意不是请求响应超时,这里指的是tcp连接很久不再使用,比如nginx.keepalive_timeout 60s都没有新的请求就会关闭连接)
-
HTTP 长连接的请求数量达到上限(nginx.keepalive_requests) (比如请求次数超过100次就会关闭该tcp连接)
仅仅对于connection:close
根据大多数 Web 服务的实现,不管哪一方禁用了 HTTP Keep-Alive,都是由服务端主动关闭连接 注意:这并不意味着http之中主动关闭连接的都是server 注意:这并不意味着http之中主动关闭连接的都是server 注意:这并不意味着http之中主动关闭连接的都是server 仅仅是说在http设置connection:close的时候,关闭连接的主动方都是server 仅仅是说在http设置connection:close的时候,关闭连接的主动方都是server 仅仅是说在http设置connection:close的时候,关闭连接的主动方都是server
从抓包分析之中就可以看出,主动关闭连接的是client,第一次发出FIN报文的是client