事务连接中断_HTTP长连接和短连接

c1e8c0da188cf5a33d6f014c046f0cfd.png

短连接

客户端和服务器每进行一次HTTP事务操作,就建立一次连接,任务结束就中断连接。http1.0协议默认使用短连接

长连接

客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器时,会复用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,在服务器(如nginx中的keeepalived_timeout)均可设置。http1.0协议默认使用长连接。

Connection头部

Connection:Keep-Alive

使用长连接,http1.1默认值

Connection:Close

使用短连接,http1.0默认值

Connection:其他头部

不向代理服务器转发Connection列出的头部

旧版本代理服务器不支持长连接问题

客户端发起长连接,代理服务器陈旧,不支持处理Connection头部,Connection:Keep-Alive转发给上游服务器,上游服务器处理了请求后,复用了与代理服务器的长连接,而代理服务器也无法处理响应中的Connection头部,将Connection:Keep-Alive转发给客户端,导致客户端也复用长连接继续发送请求,最终代理服务器出错,因为短连接不能发起两次请求。

Proxy-Connection头部

用于实现所有新旧版本代理服务器对长连接的支持

旧版本代理服务器:

无法识别Proxy-Connection头部,直接转发该头部,自身与客户端的连接退化为短连接

新版本代理服务器:

识别Proxy-Connection头部,与客户端建立长连接,与服务器使用Connection替代Proxy-Connection头部。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部