天天看点

linux下apache的gzip压缩功能

转自:

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>

    提高了吧

继续阅读