天天看點

Web 伺服器啟用 connection - keep-alive 的一些前置條件

大多數 Web 伺服器會開啟 connection: keep-alive 的選項,因為這能帶來以下的收益:

Web 伺服器啟用 connection - keep-alive 的一些前置條件
  • 減少 CPU 和記憶體使用 - 使用持久連接配接将使 Web 托管使用者受益。 由于生成的 HTTP 請求較少,它減少了伺服器資源的使用。
  • HTTP 流水線——用戶端可以通過相同的 TCP 連接配接傳遞請求,而無需等待伺服器響應。
  • 現代浏覽器支援——隻要目标伺服器支援 Keep-Alive,許多浏覽器就會自動使用持久連接配接。 現代浏覽器通常允許​

    ​每個域有六個連接配接​

    ​。
  • 改善 SEO – 啟用 Keep-Alive 可提高網站性能,這會影響其搜尋引擎優化 (SEO) 性能。
  • 減少網絡擁塞——減少伺服器和用戶端之間的 TCP 連接配接數量可以釋放網絡帶寬。
  • 改進的 SSL/TLS 性能——使用 Keep-Alive,SSL/TLS 連接配接隻打開一次,避免了額外握手的需要并改善了站點延遲。

我們需要在伺服器上進行一些配置來啟用 connection:keep-alive.

在啟用 HTTP Keep-Alive 标頭之前需要準備的檔案,取決于我們使用的伺服器和通路權限。

  • .htaccess – 一個目錄級配置檔案,可用于更改托管在 Apache 上的站點的功能和特性。
  • httpd.conf – Apache 的主要配置檔案。 請注意,如果網站在共享主機上運作,可能無權通路此檔案。
  • nginx.conf – NGINX 的主要配置檔案。

盡管許多托管服務提供商預設啟用 Keep-Alive,但出于性能原因,其中一些可能會禁用此标頭。

通過将以下代碼添加到 .htaccess 檔案來啟用 Keep-Alive 并覆寫任何伺服器設定:

<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>      

這種方法應該适用于大多數基于 Linux 的共享主機提供商。

如果有權通路 Apache 配置檔案,則可以從那裡啟用擴充。

要找到 httpd.conf 檔案,請在指令行中輸入以下指令:

find / -name httpd.conf

以下參數影響 Apache 中的 Keep-Alive 功能,從啟用持久連接配接到定義空閑連接配接逾時:

  • KeepAlive – 設定為 KeepAlive On 以啟用擴充或 KeepAlive Off 以禁用它。
  • MaxKeepAliveRequests - 該指令設定伺服器在每個 Keep-Alive 連接配接期間将保持的最大使用者請求數。 考慮将其值設定為單個連接配接的 50 個請求。 如果您的伺服器需要提供更多響應,請增加限制。
  • KeepAliveTimeout – 此值指定伺服器等待來自用戶端的新請求的時間。 建議将空閑連接配接保持打開五或十秒,并在需要時增加它。 将此值設定得太高可能會導緻伺服器負載過高并浪費記憶體資源。