首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >如何在apache2上做gzip压缩配置?

如何在apache2上做gzip压缩配置?

原创
作者头像
用户7639835
修改于 2021-08-27 11:38:21
修改于 2021-08-27 11:38:21
1.3K0
举报
文章被收录于专栏:技术知识分享技术知识分享

本文介绍如何启用apache的gzip功能 针对Apache2.0及之后的版本,Apache提供支持, 不过不叫gzip,而叫mod_deflate。 在使用gzip压缩之前请确实是否已经启用apache的deflate和 headers两个模块。操作办法: 修改前为:

代码语言:javascript
复制
#LoadModule headers_module modules/mod_headers.so
#LoadModule deflate_module modules/mod_deflate.so

去掉前面的#修改后为:

代码语言:javascript
复制
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so

在httpd.conf中添加下面一段配置:

代码语言:javascript
复制
<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 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档