【发布时间】:2012-01-04 03:32:35
【问题描述】:
我运行了 Google Page Speed,它显示我的得分为 57/100,因为我需要“启用 Keep-Alive”和“启用压缩”。我做了一些谷歌搜索,但我找不到任何东西。我什至联系了我的域名提供商并要求他们打开它,但他们说它已经打开了。
长话短说:
1.) 什么是 Keep-Alive?
2.) 如何启用它?
【问题讨论】:
标签: image compression keep-alive
我运行了 Google Page Speed,它显示我的得分为 57/100,因为我需要“启用 Keep-Alive”和“启用压缩”。我做了一些谷歌搜索,但我找不到任何东西。我什至联系了我的域名提供商并要求他们打开它,但他们说它已经打开了。
长话短说:
1.) 什么是 Keep-Alive?
2.) 如何启用它?
【问题讨论】:
标签: image compression keep-alive
配置 Apache KeepAlive 设置
打开 apache 的配置文件并查找以下设置。在 Centos 上,此文件称为 httpd.conf,位于 /etc/httpd/conf。以下设置值得注意:
KeepAlive: 打开或关闭 KeepAlive。输入“KeepAlive on”打开它,输入“KeepAlive off”关闭它。
MaxKeepAliveRequests:单个持久连接将服务的最大请求数。 50 到 75 之间的数字 充足。
KeepAliveTimeout:服务器应等待来自已连接客户端的新请求多长时间。默认值为 15 秒,即 太高了。将其设置在 1 到 5 秒之间以避免 进程在等待请求时浪费 RAM。
在此处阅读有关保持连接的好处的更多信息:http://abdussamad.com/archives/169-Apache-optimization:-KeepAlive-On-or-Off.html
【讨论】:
Keep-alive 使用相同的 tcp 连接进行 HTTP 会话,而不是为每个新请求打开一个新连接。您基本上需要在 HTTP 响应中设置 HTTP 标头
Connection: Keep-Alive
阅读更多here
【讨论】:
header("Connection: keep-alive");
我遇到了同样的问题,经过一番研究,我发现两种最流行的方法是:
如果您无权访问您的网络服务器配置文件,您可以使用.htaccess 文件自己添加 HTTP 标头,方法是添加以下代码行:
如果您能够访问您的 Apache 配置文件,您可以通过更改此处 /etc/httpd/ 中的 httpd.conf 文件中的这 3 行来打开 keep-alive。 conf/
保持活动状态
MaxKeepAliveRequests 0
KeepAliveTimeout 100
你可以从这个比我解释得更好的来源阅读更多内容https://varvy.com/pagespeed/keep-alive.html
【讨论】:
要通过 .htaccess 启用 keep-alive,您需要将以下代码添加到您的 .htaccess 文件中:
<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>
【讨论】:
当您启用“保持活动”时,您会告诉用户的浏览器对您网站加载的所有文件(图像、脚本等)使用一个 TCP/IP 连接,而不是使用 TCP/IP 连接每个文件。因此,它保持一个“活动”连接以一次检索所有网站文件。这比使用大量连接要快得多。 有多种方法可以启用keep-alive。您可以通过
Go here 了解更多详细信息。
“启用压缩”部分意味着您应该启用 GZIP 压缩(如果您的网络主机尚未启用它,因为它现在几乎是默认设置)。 GZIP 压缩技术使您的 Web 文件在发送到您的用户浏览器之前被压缩成为可能。这意味着您的用户必须下载更小的文件才能完全加载您的网页。
【讨论】:
要启用 KeepAlive 配置,请转到 Apache 配置中的 conf/httpd.conf 并设置以下属性: KeepAlive 开启
【讨论】: