在Apache中,可以啟用mod_deflate來壓縮網頁,傳送給client後再由client端解壓縮,可以大大節省頻寬的使用

開啟方法:

#先到apache的httpd.conf中把mod_deflate.so註解拿掉(如果預設有引入的話就代表已經有使用deflate壓縮囉)
LoadModule deflate_module libexec/apache22/mod_deflate.so

#Ubuntu可以使用指令開啟
a2enmod deflate

接著可以在Apache設定檔(httpd.conf)中自訂一些設定

<IfModule mod_deflate.c>
    #壓縮等級1~9,等級越高壓縮效能越好
    DeflateCompressionLevel 9
    #設定要壓縮的類型
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-httpd-php
    #自訂Log格式及存放位置
    DeflateFilterNote ratio
    LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
    CustomLog /var/log/deflate_log deflate
</IfModule>

其他更細部的操作,例如BrowserMatch等等,可以直接參考Apache mod_deflate的說明

設定完成後重新啟動Apache即可,可以透過這個網站測試

Categories: Apache