HTTP Keep-Alive,又名 HTTP 持久连接,是一种指令

HTTP Keep-Alive,又名 HTTP 持久连接,是一种指令


Keep-Alive是什么以及如何设置


,它允许单个 TCP 连接为多个 HTTP 请求/响应保持打开状态。


默认情况下,HTTP 连接在每次请求后关闭。当有人访问您的站点时,他们的浏览器需要创建新的连接来请求组成您的网页的每个文件(例如图像、Javascript 和 CSS 样式表),这一过程可能会导致 页面加载时间过长。




启用 Keep-Alive 允许您通过单个连接提供所有网页资源。Keep-Alive 还可以减少服务器上的 CPU 和内存使用量。市场上服务器众多,大家可按需选购,给大家推荐小编在用的bluehost服务器,他们的高性能大内存方案还是非常不错的,使用官方常用优惠码MDD,VPS服务器最高有五折优惠,有需要的朋友可以去看看。


启用 Keep-Alive


(1)如果您的服务器上未启用 Keep-Alive,则可以通过将以下代码添加到您的 .htaccess 文件来启用它:


HTTP Keep-Alive,又名 HTTP 持久连接,是一种指令


在“Connection Keep-Alive”设置中,以下两个参数会影响他的功能:


1.MaxKeepAliveRequests – 该指令设置每个保持活动连接的最大请求数。在确定这个数字时,需要考虑的是用户可能想要访问的网站上的文件数量。2.KeepAliveTimeout – 该参数设置在需要建立新的 TCP 连接之前服务器应等待用户请求的时间。这个数值应该根据你的网站被访问的频率来设置,也就是说,高流量的网站最好设置一个大的数值来限制 TCP 连接请求的数量。


(2)如果你的服务器安装了WHM面板,你可以通过面板轻易控制Keep-Alive的开启或关闭。


首先你需要在WHM面板中找到Apache Configuration,进入Global Configuration




进入后你可以看到控制Keep-Alive的按钮,选择On即开启




在做出更改后记得重启一下Apache使更改生效噢




Keep-Alive的好处


HTTP Keep-Alive 设置可以维护客户端和服务器之间的连接,减少提供文件所需的时间。持久连接还会减少 TCP 和 SSL/TLS 连接请求的数量,从而导致往返时间 (RTT)下降 。


建立 TCP 连接首先需要三向传输——客户端和服务器之间相互交换 SYN 和 ACK 数据包,然后才能传输数据。使用 Keep-Alive 标头意味着不必经常执行此过程。这将会带来以下好处:


1.网络资源的保护 – 每个客户端使用单个连接对网络资源的负担较小。


2.减少网络拥塞 ——减少服务器和客户端之间的 TCP 连接数量可以减少网络拥塞。


3.减少延迟 – 减少三向传输的数量可以改善站点延迟。对于SSL/TLS 连接尤其如此 ,它需要额外的往返来加密和验证连接。


CDN 和 Keep-Alive 的关系


Keep-Alive允许 CDN 减少您站点的 RTT,同时仍然提供 SSL/TLS 安全优势


Imperva CDN 使用 Keep-Alive 在用户会话之间保持与源服务器的开放连接,每次持续几分钟 - 只要在连接打开时访问您的站点,您的 CDN 就不需要参与任何新的 SSL/TLS 协议。


这将会节省大量的开销,这些开销本来用于每个新用户尝试发起与源的新连接的请求。相反,每个 CDN 代理服务器都能够利用其开放连接一次为多个用户下载资源。