復制代碼 代碼如下:
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
復制代碼 代碼如下:
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>
下面二個測試網站
測試數據對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畢竟是很少的情況,所以對于緩存命中率的降低很有限.
|
新聞熱點
疑難解答