Apache配置HTTP压缩功能
对于Apache而言,有两种情况:
1.?针对Apache2.0之前的版本,原本是不支持压缩传输的,不过可以通过添加第三方的mod_gzip模块来实现。
2. 针对Apache2.0及之后的版本,Apache提供压缩传输支持,使用mod_deflate模块即可。
?
下面是对Apache2.0及之后的版本进行配置的说明
1. 安装mod_deflate
1) 如果使用的是系统自带的Apache,那么直接配置http.conf即可。
2) 如果使用源码编译的Apache,那么有两种方式可以选择:
方式一:
重新编译Apache,在configure时,加上--enable-headers --enable-deflate即可。
?
方式二
使用apxs工具,操作如下:
#/usr/local/apache2/bin/apxs -i -c -a mod_deflate.c
?
?
2. 配置方式方式一:LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so(如果加载libphp5.so,mod_deflate.so需要在其后加载)
?
?
<IfModule mod_deflate.c>
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE css js
</IfModule>
?
方式二:
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so(如果加载libphp5.so,mod_deflate.so需要在其后加载)
?
DeflateCompressionLevel 6
?
<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>
?
?
关于mod_deflate的详细内容,可以参考http://httpd.apache.org/docs-2.0/mod/mod_deflate.html
?
?
3. 测试压缩效果
测试工具:http://www.whatsmyip.org/http_compression/
测试工具:http://www.port80software.com/products/httpzip/