Gzip在apache2中的設定和squid對它的處理

NO IMAGE

如果要開啟gzip的話,一定要開啟下面二個模組.
複製程式碼 程式碼如下:
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so

設定壓縮比率,取值範圍在 1(最低) 到 9(最高)之間,不建議設定太高,雖然有很高的壓縮率,但是佔用更多的CPU資源.
複製程式碼 程式碼如下:
DeflateCompressionLevel 3
AddOutputFilter DEFLATE html xml php js css
<LOCATION />
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \\.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary #對代理的設定
</LOCATION>

下面二個測試網站

http://www.whatsmyip.org/mod_gzip_test/

http://www.gidnetwork.com/tools/gzip-test.php

測試資料對css
Original Size: 44 KB
Gzipped Size: 10 KB
Data Savings: 77.27%

測試資料js
Original Size: 6 KB
Gzipped Size: 2 KB
Data Savings: 66.67%

測試資料php
Original Size: 62 KB
Gzipped Size: 15 KB
Data Savings: 75.81%

上面只是隨機拿的幾個資料,看的出來,使用了gzip壓縮後檔案小多了.

另外講一下,有關squid對gzip的處理
在squid中,對同一個URL只保留一份快取。對於如果不同browser(是否支援壓縮)如果頻繁交替訪問,例如:對某個cache住的目標,一個http/1.0請求可能會導致squid強制更新其快取。但接下來的另一個http/1.1請求又會導致squid再次更新快取。這樣那squid快取資料就要頻繁更新,這就極大的降低了cache命中率。
不過還好,現實環境中不支援壓縮的browser畢竟是很少的情況,所以對於快取命中率的降低很有限.

您可能感興趣的文章:

Apache啟用GZIP壓縮網頁傳輸方法apache啟用gzip壓縮的實現方法Gzip壓縮啟用圖文方法詳細說明【IIS6.0、Apache】php在apache環境下實現gzip配置方法使Apache實現gzip壓縮配置在Apache伺服器上啟用GZip壓縮靜態內容的方法 Apache伺服器優化方法小結