本文介绍如何启用apache的gzip功能 针对Apache2.0及之后的版本,Apache提供支持, 不过不叫gzip,而叫mod_deflate。 在使用gzip压缩之前请确实是否已经启用apache的deflate和 headers两个模块。操作办法: 修改前为:
#LoadModule headers_module modules/mod_headers.so
#LoadModule deflate_module modules/mod_deflate.so
去掉前面的#修改后为:
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
在httpd.conf中添加下面一段配置:
<IfModule mod_deflate.c>
<Location />
#Insert filter
SetOutputFilter DEFLATE
# 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 Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.59
# the above regex won’t work. You can use the following
# workaround to get the desired effect:
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html force-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don’t compress images and other
#SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
#SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
#SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
# Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
#DeflateFilterNote ratio ratio_info
#LogFormat '"%v %h %l %u %t “%r" %>s %b "%{Referer}i" "%{User-Agent}i"" (%{ratio}n)' deflate
#CustomLog logs/deflate_log deflate
</Location>
</IfModule>
这样整个配置就算完成,重启apache就可以看到效果,够简单吧!
再通过对开启GZIP压缩功能前后对比图,查看差距。
开启之前:
开启之后:
很明显的看到,jquery-1.3.2.min.js已经从55.9k压缩为19.3k,这个压缩比例应该说是比较给力的。而且我们知道jq-min的代码本身已经做了压缩,所以如果是我们平时写的一些html代码的话,整个压缩程度更高,在笔者测试过程中,一般对html可以压缩为原大小的30%甚至更小。这里就不贴图了。
知识解释: gzip是一种数据格式,默认且目前仅使用deflate算法压缩data部分; deflate是一种压缩算法,是huffman编码的一种加强。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。