Apache 2 官方在開發的時候,就把網頁壓縮考慮進去,內建了 mod_deflate 這個模組,所以 Apache 2 就不需要使用到 mod_gzip,但兩者運作的原理頗為類似。
啟用 mod_deflate 這個網頁壓縮的模組,功能和效率和 mod_gzip 是差不多的,甚至還好一些,且不需要再另外找 mod_gzip 模組,apache 2 就有內建,將模組前面的註解拿掉就可以使用。
啟用網頁壓縮後,所消耗的頻寬流量便下降許多,可以同時提供給更多人瀏覽頁面的頻寬資源,考量本站使用的文件格式後,實作的方法如下:
在 http.conf 檔案裡有關載入模組的地方,加上這一行:
QUOTE:
LoadModule deflate_module modules/mod_deflate.so
接著,在httpd.conf檔案後面,加上這一段:
QUOTE:
DeflateCompressionLevel 9
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE js css
這樣的作法可以壓縮一般網頁中會用到的 html、xml、php、css、js 等格式檔案輸出,雖然會佔用掉伺服器處理器的一點點處理器時間,瀏覽者在接收網頁資料時也會消耗極短暫的一點點處理器時間(短到使用者不可能察覺),不過卻可以大幅減少資料傳輸量,減少網路頻寬被吃掉的情形。
說明
DeflateCompressionLevel 預設可以採用 6 這個數值,以維持耗用處理器效能與網頁壓縮品質的平衡。
DeflateCompressionLevel 9 是指壓縮程度的等級,從 1到 9,9 是最高等級。據了解,這樣做最高可以減少八成大小的傳輸量(看檔案內容而定),最少也能夠節省一半。
至於已經是壓縮過的圖片格式如 jpg,音樂檔案如 mp3、壓縮檔如 zip 之類的,就可以不需要再壓縮了,因為這種檔案你一開放伺服器傳輸時壓縮,處理器時間會跑不完。
檢查測試方式
建議可用這個網站 Check HTTP Compression 來檢查:http://www.seoconsultants.com/tools/compression
From: http://wtlin-course.blogspot.com/2010/06/linux-apache-gzip.html