课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
短连接与长连接是程序员在学习http的时候会接触到的两个概念,而今天我们就通过案例分析来了解一下,http编程短连接与长连接基础知识。
一、短连接
HTTP协议初(0.9/1.0)是个非常简单的协议,通信过程也采用了简单的“请求-应答”方式。
它底层的数据传输基于TCP/IP,每次发送请求前需要先与服务器建立连接,收到响应报文后会立即关闭连接。
因为客户端与服务器的整个连接过程很短暂,不会与服务器保持长时间的连接状态,所以就被称为“短连接”(short-livedconnections)。早期的HTTP协议也被称为是“无连接”的协议。
短连接的缺点相当严重,因为在TCP协议里,建立连接和关闭连接都是非常“昂贵”的操作。TCP建立连接要有“三次握手”,发送3个数据包,需要1个RTT;关闭连接是“四次挥手”,4个数据包需要2个RTT。
二、长连接
针对短连接暴露出的缺点,HTTP协议就提出了“长连接”的通信方式,也叫“持久连接”(persistentconnections)、“连接保活”(keepalive)、“连接复用”(connectionreuse)。
其实解决办法也很简单,用的就是“成本均摊”的思路,既然TCP的连接和关闭非常耗时间,那么就把这个时间成本由原来的一个“请求-应答”均摊到多个“请求-应答”上。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。