轉自:
http://blog.csdn.net/wublue1234/article/details/5589124
http://blog.csdn.net/yybjroam05/article/details/7726516
在原文基礎上做了部分修改和添加。
HTTP 壓縮可以大大提高浏覽網站的速度,它的原理是,在用戶端請求網頁後,從伺服器端将網頁檔案壓縮,再下載下傳到用戶端,由用戶端的浏覽器負責解壓縮并浏覽。相對于普通的浏覽過程HTML ,CSS,Javascript , Text ,它可以節省40%左右的流量。更為重要的是,它可以對動态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網頁也能進行壓縮,壓縮效率驚人
gzip功能能在消耗一點點CPU使用率的情況下,大幅減少網頁在傳輸過程中的帶寬(大約60%-75%)。最近一直在折騰ctusky網站打開速度的事情,所有關到打開速度的我總是非常關心,下面就來介紹一下apache2下開啟gzip壓縮的方法。
正确區分mod_deflate和mod_gzip
所謂gzip,其實在早期的apache 1.x系列版本中沒有内建網頁壓縮技術,是以才需要去gzip壓縮,apache2官方在開發的時候,就已經把網頁壓縮考慮進去,内建了mod_deflate子產品,是以apache2就不需要使用到mod_gzip了,這兩者的工作原理是類似的,還有啟用mod_deflate這個網頁壓縮的子產品,功能和效率和mod_gzip是差不多的,甚至還好一些,就不需要再用mod_gzip子產品了。
去掉#LoadModule headers_module modules/mod_headers.so前面的注釋#,
添加LoadModule deflate_module modules/mod_deflate.so
可能還需要添加子產品:
LoadModule filter_module modules/mod_filter.so
網上給的代碼是這樣的
<VirtualHost *:8015>
DocumentRoot D:/AppServ/www/web
<IfModule mod_deflate.c>
<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
Header append Vary User-Agent env=!dont-vary
</Location>
</ifmodule>
</VirtualHost>
通過仿如下代碼可以修改對應的壓縮程度等級:
<ifmodule mod_deflate.c>
DeflateCompressionLevel 9
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE js css
</ifmodule>
DeflateCompressionLevel預設可以采用6這個數值,以維持耗用處理器效能與網頁壓縮品質的平衡。
還有一個例子
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php application/x-javascript text/css
</ifmodule>
提高了吧