您的位置:首页 > 运维架构 > Apache

linux下apache的gzip压缩功能

2014-10-26 14:29 141 查看
转自:
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>

提高了吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: