Apache2.4開啓GZIP功能

      HTTP協議上的GZIP編碼是一種用來改進WEB應用程序性能的技術。大流量的WEB站點經常使用GZIP壓縮技術來讓用戶感覺更快的速度。這通常是指WWW服務器中安裝的一個功能,當有人來訪問這個服務器中的網站時,服務器中的這個功能就將網頁內容壓縮後傳輸到來訪的電腦瀏覽器中顯示出來.通常對純文本內容可壓縮到原大小的40%.這樣傳輸就快了,效果就是你點擊網址後會很快的顯示出來.固然這也會增長服務器的負載. 通常服務器中都安裝有這個功能模塊的。javascript

減小文件大小有兩個明顯的好處,一是能夠減小存儲空間,二是經過網絡傳輸文件時,能夠減小傳輸的時間。gzip 是在 Linux 系統中常用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。php

  GZip壓縮的基本流程以下:css

   1. Web服務器接收到瀏覽器的HTTP請求後,檢查瀏覽器是否支持HTTP壓縮(Accept-Encoding 信息);html

    2. 若是瀏覽器支持HTTP壓縮,Web服務器檢查請求文件的後綴名;java

    3. 若是請求文件是HTML、CSS等靜態文件,Web服務器到壓縮緩衝目錄中檢查是否已經存在請求文件的最新壓縮文件;apache

    4. 若是請求文件的壓縮文件不存在,Web服務器向瀏覽器返回未壓縮的請求文件,並在壓縮緩衝目錄中存放請求文件的壓縮文件;json

    5. 若是請求文件的最新壓縮文件已經存在,則直接返回請求文件的壓縮文件;瀏覽器

    6. 若是請求文件是動態文件,Web服務器動態壓縮內容並返回瀏覽器,壓縮內容不存放到壓縮緩存目錄中。緩存

  網上許多開啓GZIP的方法,可是研究了許多才成功了,在這裏記錄下面服務器

  編輯 http.conf 文件

  去掉 #LoadModule headers_module modules/mod_headers.so 前面的註釋#
  去掉 #LoadModule deflate_module modules/mod_deflate.so 前面的註釋#
  去掉 #LoadModule filter_module modules/mod_filter.so 前面的註釋# 

  文件末尾加上

  <IfModule mod_deflate.c>
   AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json #對指定的內容進行壓縮,壓縮方式爲默認的一個方法
  </IfModule>

詳細配置:

<IfModule mod_deflate.c>

DeflateCompressionLevel 6
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #設置不對後綴gif,jpg,jpeg,png的圖片文件進行壓縮
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary #同上,就是設置不對exe,tgz,gz。。。的文件進行壓縮
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/* #設置對文件是文本的內容進行壓縮,例如text/html text/css text/plain等
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript #這段代碼你只須要了解application/javascript application/x-javascript這段就能夠了,這段的意思是對javascript文件進行壓縮
AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp #這段是告訴apache對php類型的文件進行壓縮
BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.x 有一些問題,因此只壓縮文件類型是text/html的
BrowserMatch ^Mozilla/4.0[678] no-gzip # Netscape 4.06-4.08 有更多的問題,因此不開啓壓縮
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # IE瀏覽器會假裝成 Netscape ,可是事實上它沒有問題

</IfModule>

相關文章
相關標籤/搜索