课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
http协议是程序员在学习前端编程开发技术的时候需要重点掌握的编程知识之一,而今天我们就一起来了解一下HTTP的连接管理。
短连接
因为客户端与服务器的整个连接过程很短暂,不会与服务器保持长时间的连接状态,所以就被称为“短连接”(short-livedconnections)。早期的HTTP协议也被称为是“无连接”的协议。
短连接的缺点
TCP建立连接要有“三次握手”,发送3个数据包,需要1个RTT;关闭连接是“四次挥手,需要2个RTT。每次发送HTTP请求的时候都重新建立和关闭连接,这就带来了传输效率低的问题。
长连接Connection:keep-alive
针对短连接暴露出的缺点,HTTP协议就提出了“长连接”的通信方式,也叫“持久连接”(persistentconnections)、“连接保活”(keepalive)、“连接复用”(connectionreuse)。
复用同一个连接来完成多次HTTP的请求。
长连接的缺点
服务器不会主动关闭对应的连接,需要客户端发送Connection:close字段,服务器在响应的时候也会加上对应的字段,然后就关闭TCP连接。
解决服务器不主动关闭的策略(Nginx):
使用keepalive_timeout指令,设置长连接的超市时间,如果在一段时间内连接上没有任何数据收发就主动断开连接,避免空闲连接占用系统资源。
使用keepalive_requests指令,设置长连接上可发送的大请求次数。比如设置成1000,那么当Nginx在这个连接上处理了1000个请求后,也会主动断开连接。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。