HTTP 长连接(HTTP Persistent Connection),通常被称为 HTTP Keep-Alive,是一种允许在单个 TCP 连接上发送和接收多个 HTTP 请求/响应的机制。 简单来说,它的核心思想是:“一次建立,多次复用”。 以下是关于 HTTP 长连接的详细解析: 1. 为什么需要长连接?(背景与短连接的痛点) 在早期的 HTTP/1.0 时代,默认使用的是短连接。其流程如下: 1. 客户端发起 TCP 连接(三次握手)。 2. 客户端发送 HTTP 请求。 3. 服务端返回 HTTP 响应。 4. 断开 TCP 连接(四次挥手)。 短连接的问题: 如果一个网页包含很多资源(HTML, CSS, JS, 图片等),每加载一个资源都要重新建立和断开一次 TCP 连接。 耗时: TCP 三次握手和四次挥手需要时间,增加了网络延迟(RTT)。 耗资源: 频繁创建和销毁 socket 会消耗服务器的 CPU 和内存资源。 慢启动: TCP 连接建立初期有“慢启动”机制,速度较慢,频繁新建连接无法利用 TCP 的全速传输能力。 2. 长连接(Keep-Alive)的...