Gzip是一種流行的檔案壓縮演算法,現在的應用十分廣泛,尤其是在Linux平台。 Gzip在現代瀏覽器中預設都是支援的,當一個純文字檔案使用Gzip壓縮可以減少70%以上的檔案大小,壓縮後可以大大降低了網路傳輸的位元組數,使用Gzip的好處就是可以加快網頁載入的速度,同時是你的網站對搜尋引擎更加友善。下面PHP程式設計師雷雪松詳細的講解下Apache如何使用mod_deflate模組來實現Gzip壓縮網頁內容進行壓縮。
Apache伺服器HTTP請求Gzip處理的程序
#1、Apache伺服器接收到瀏覽器的HTTP請求後,檢查瀏覽器是否支援HTTP壓縮(Accept-Encoding資訊).
2、如果瀏覽器支援HTTP壓縮,Apache伺服器檢查請求檔案的後綴名稱。
a、如果請求文件是HTML、CSS、JS、Images等靜態文件,Apache伺服器從壓縮緩衝目錄中檢查是否已經存在請求文件的最新壓縮文件,如果不存在,返回壓縮的請求文件,並在壓縮緩衝目錄中存放壓縮文件,如果已經存在,則直接返回請求文件的壓縮文件。
b、如果請求文件是動態文件,Web伺服器動態壓縮內容並返回瀏覽器,壓縮內容不存放到壓縮快取目錄中。
Apache支援GZIP壓縮的配置
1、編輯http.conf 文件,開啟mod_deflate模組
去掉#LoadModule headers_module modules/mod_headers.so前面的註解
#去掉#LoadModule deflate_module modules/mod_deflate.so 前面的註解
#去掉#LoadModule filter_module modules/mod_filter.so 前面的註解
#2、設定檔位壓縮相關參數#Gzip壓縮相關參數
<IfModule mod_deflate.c> #压缩率,6是建议值。 DeflateCompressionLevel 6 AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/gif image/png image/jpe image/swf image/jpeg image/bmp #排除不需要压缩的文件 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 .(?:html|htm)$ no-gzip dont-varySetEnvIfNoCase SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary </IfModule>
3、重新啟動Apache伺服器並且使用瀏覽器請求驗證是否Gzip生效。
相關推薦:
以上是Apache如何開啟GZIP壓縮功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!