使用mod_deflate模块

优点:可以压缩页面,优化传输速度,节省带宽。

缺点:会额外消耗CPU,同时可能有些较老的浏览器不支持压缩。


NOTE:

适用于适合压缩的资源,例如文本文件。


配置说明:

1、首先需要启用mod_deflate模块,CentOS6中的httpd.conf配置文件里是默认启用了mod_deflate模块的。

0267e7b7718524a3ad388a16d509a854.png

如果被禁用,可以在http.conf中进行修改,去掉注释即可。

2、调用DEFLATE输出过滤器

设置过滤器,并向过滤器添加明确说明哪些是能通过过滤,允许使用压缩功能的文件类型

SetOutputFilter DEFLATE  

# mod_deflate configuration


# Restrict compression to there MIME types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/javasrcipt
AddOutputFilterByType DEFLATE text/css

# Level of compression (Highest 9 - lowest 1)
DeflateCompressionLevel 9                        //设定压缩比例,数值越高,压缩比例越大,耗时越慢

# Netscape 4.x has some problems.
BrowserMatch ^Mozilla/4 gzip-only-text/html      //基于正则表达式对浏览器类型和版本做匹配筛选

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netsacpe,but it is fine
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html


3、配置完成后,可以使用curl命令测试配置效果:

使用-I选项显示相应报文的首部信息

使用--compressed选项要求服务器端将报文压缩后发送

485f025d835f9ec15d7902970ca82ddd.png

可以看到Content-Encoding:gzip

说明配置生效


写的比较潦草,如有遗漏错误和争议之处,欢迎大家的批评指正和讨论,谢谢。