gzip是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序。
本文介绍修改apache/install/ target=_blank class=infotextkey>apache配置文件开启gzip压缩传输。
用工具page speed检测网站时发现还没有开启gzip压缩,看来要改进下啦。
在apache2.0以上(包括apache2.0)的版中gzip压缩使用的是mod_deflate模块。
具体配置步骤参考如下的介绍。
步骤1:
打开httpd.conf后,先将上面两行配置前面的#号去掉,这样apache就会启用这两个模块,其中mod_deflate是压缩模块,就是对要传输到客户端的代码进行gzip压缩;mod_headers模块的作用是告诉浏览器页面使用了gzip压缩,如果不开启mod_headers那么浏览器就会对gzip压缩过的页面进行下载,而无法正常显示。
步骤2:
在httpd.conf中加入以下代码,可以加到任何空白地方,例如放到http.conf文件的最后一行,如果是虚拟服务器可以写.htaccess文件里面,然后放在项目下即可。
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE #必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary #同上,就是设置不对exe,tgz,gz。。。的文件进行压缩
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/* #设置对文件是文本的内容进行压缩,例如text/html text/css text/plain等
#只需了解application/javascript application/x-javascript这段,对javascript文件进行压缩
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript
#告诉apache对php类型的文件进行压缩Add
OutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.x 有一些问题,所以只压缩文件类型是text/html的
BrowserMatch ^Mozilla/4.0[678] no-gzip # Netscape 4.06-4.08 有更多的问题,所以不开启压缩
BrowserMatch bMSIE !no-gzip !gzip-only-text/html # IE浏览器会伪装成 Netscape ,但是事实上它没有问题
</IfModule>
至此,apache中的gzip压缩就配置完成,重启apache后,gzip压缩开始工作,会发现文件大小减小不少,网站速度上升很多咯。
tips:开启gzip功能需要额外CPU资源开销,这个根据机器的情况,自行取舍。
相关阅读:
apache中启用gzip压缩的方法深入分析(图文)
apache开启GZIP压缩网页传输的方法详解(图文)
Apache开启gzip压缩模块
(图文介绍)apache2中开启gzip压缩
教你修改Apache配置文件开启gzip压缩传输
apache启用gzip压缩方法
apache启用gzip压缩以提升性能
apache开启gzip配置
您可能感兴趣的文章:
学习apache模块mod_expires
使用mod_expires提升网站访问速度
apache模块mod_expires和mod_headers实现文件缓存