快速业务通道

用Apache2的mod_deflate模块来压缩页面

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-25

  mod_deflate在Web服务器层进行压缩控制,因此不需要通过修改程序代码就可以达到减小传输文件大小的功能.但是对于特别大的文件,在压缩的时候需要花费一定的时间,因此下载的人会在一段时间内无法得到响应.

查看了Apache的配置:

Apache配置代码:


<ifmodule mod_deflate.so>
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
#DeflateFilterNote Input instream
#DeflateFilterNote Output outstream
#DeflateFilterNote Ratio ratio
#LogFormat ''"%r" %{outstream}n/%{instream}n (%{ratio}n%%)'' deflate
#CustomLog logs/deflate_log.log deflate
</ifmodule>

修改为:

Apache配置代码:


<IfModule mod_deflate.so>
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 拥有帝国一切,皆有可能。欢迎访问phome.net
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE image/svg xml
#DeflateFilterNote Input instream
#DeflateFilterNote Output outstream
#DeflateFilterNote Ratio ratio
#LogFormat ''"%r" %{outstream}n/%{instream}n (%{ratio}n%%)'' deflate
#CustomLog logs/deflate_log.log deflate
</ifmodule>

Apache2中的实时压缩解压的模块编译在mod_deflate模块中,替换了原来的mod_gzip模块.

编译apache的时候 –enable-deflate 这个参数是默认开启的,编译完会有mod_deflate模块.

配置站点:

如果我们想使一个文件传输的时候进行加密,我们在站点配置文件里增加这样的配置

<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>
这样,/var/www/htdocs目录下的所有mime类型为text/html的文件就可以启用

未压缩的http头:

Date Fri, 21 Oct 2011 05:43:36 GMT
Server Apache/2.2.16 (Unix) DAV/2
Last-Modified Fri, 21 Oct 2011 05:42:23 GMT
Etag "48d46c6-12853-4afc8898ecdc0"
Accept-Ranges bytes
Content-Length 75859
Content-Type text/html
Vary Accept-Encoding,User-Agent


压缩后的http头:

Date Fri, 21 Oct 2011 05:43:36 GMT
Server Apache/2.2.16 (Unix) DAV/2
Last-Modified Fri, 21 Oct 2011 05:42:23 GMT
Etag "48d46c6-12853-4afc8898ecdc0"
Accept-Ranges bytes
Vary Accept-Encoding,User-Agent
Content-Encoding gzip
Content-Length 18323 拥有帝国一切,皆有可能。欢迎访问phome.net
X-UA-Compatible IE=EmulateIE7
Content-Type text/html


原来length为75859,压缩后为18323,效果还是很明显的.

不过对于length很小的文件,是不进行压缩的.

本文出自 “玩linux…做运维…集群..” 博客,请务必

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号