您的位置 首页 织梦安装

在Apache服务器中开启GZIP压缩的方法

GZIP编码是一种用来改进WEB应用程序性能的技术,一般流量比较大的网站都会使用GZIP压缩技术来优化用户体验,提高网站访问速度。假如我们要请求一个1M的文件,当前的网络传输速度为

GZIP编码是一种用来改进WEB应用程序性能的技术,一般流量比较大的网站都会使用GZIP压缩技术来优化用户体验,提高网站访问速度。假如我们要请求一个1M的文件,当前的网络传输速度为 […]

GZIP编码是一种用来改进WEB应用程序性能的技术,一般流量比较大的网站都会使用GZIP压缩技术来优化用户体验,提高网站访问速度。假如我们要请求一个1M的文件,当前的网络传输速度为500KB/S,需要2S才可以下载完数据,但是如果我们启用了GZIP压缩,将服务器端的文件压缩到500KB(往往压缩率会比这个值还要低),这个时候我们访问网站,只需要1S就可以下载这个数据,在后在客户端解压完成预览,是非常方便的!

在Apache服务器中开启GZIP压缩的方法

我们来对比下同一个文件在开启GZIP前后的大小对比:

在Apache服务器中开启GZIP压缩的方法

GZIP压缩前

在Apache服务器中开启GZIP压缩的方法

GZIP压缩后

那么,Apache服务器是如何开启GZIP压缩呢?

要让Apache支持gzip功能,要用到deflate_Module和headers_Module。打开apache的配置文件httpd.conf,比如我的是在 "C:\\wamp\\bin\\apache\\Apache2.2.21\\conf" 目录下。找到以下这两行(这两行不是连续在一起的),将它前面的注释(#)去掉:

#LoadModule deflate_module modules/mod_deflate.so#LoadModule headers_module modules/mod_headers.so

前面的“#”注释删掉,表示开启GZIP压缩功能。开启以后还需要进行相关配置,在httpd.conf文件的最后添加以下内容即可:

<IfModule mod_deflate.c># 告诉 apache 对传输到浏览器的内容进行压缩SetOutputFilter DEFLATE# 压缩等级9DeflateCompressionLevel9</IfModule>

这样就能对所有文件进行GZIP压缩了。压缩等级是个1-9之间的整数,取值范围在1(最低)到9(最高)之间,不建议设置太高,虽然有很高的压缩率,但是占用更多的CPU资源(余斗测试了下1和9压缩率差不了多少)。

实际开发中我们并不需要对所有文件进行压缩,比如我们无需对图片文件进行 gzip 压缩,因为图片文件(一般为 jpg、png等格式)本身已经压缩过了,再进行GZIP压缩可能会适得其反(详见 图片要启用gzip压缩吗?绝对不要!,背景图片千万不要GZIP压缩,尤其是PNG),类似的还有PDF以及音乐文件。

所以我们可以设置过滤指定文件或者对指定文件进行压缩,比如我们要对图片等特殊文件不进行 gzip 压缩处理:

<IfModule mod_deflate.c># 告诉 apache 对传输到浏览器的内容进行压缩SetOutputFilter DEFLATE# 压缩等级9DeflateCompressionLevel9#设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary</IfModule>

或者指定文件格式进行压缩:

<IfModule mod_deflate.c># 压缩等级9DeflateCompressionLevel9# 压缩类型 html、xml、php、css、jsAddOutputFilterByType DEFLATEtext/htmltext/plaintext/xml application/x-javascript application/x-httpd-phpAddOutputFilter DEFLATE js css</IfModule>

修改好后,保存httpd.conf文件,记得重启Apache,再刷新浏览器看请求,应该已经生效了!

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 致命的织梦

为您推荐

把现有网站改成自适应网页的实现方法

自适应网页设计可使网站在多种浏览设备(从桌面电脑显示器到智能手机或其他移动产品设备)上具有更好的阅读体验。 今天余斗就简单说下如何将现有的网站改造成自适应网站: 1、

在PHP中利用HTML5应用将Canvas图像保存到服务器的方法

网上有很多如何将canvas图像保存成图片并下载的方法,但这些方法都是将图片保存到客户端,而我们的签名需求是需要将canvas的内容保存到服务器端,如何实现? 其实很简单,看完下面

.htaccess实现含中文的url伪静态跳转

因为网站用的是apache环境,所以伪静态规则都写在.htaccess文件中,而余斗的博客伪静态规则是应用在tag页中,主要代码为以下: #Tags伪静态 RewriteRule ^tags.html/tags.php RewriteRule ^tags/(.*)(?

百度熊掌号使用curl方式批量提交网站历史内容的方法

之前的文章也介绍过PHP方式将网址推送给熊掌号,近来又试了一下curl方式推送,这样可以在本地一下子推送很多,且不占服务器资源,也很好。 在准备推送前需要准备好网站的所有文

IIS7.0及IIS8.0添加Vary头和expires头(max-age缓存设置)

百度站长工具平台有个页面优化建议功能,用过的站长朋友都知道有一项提示是:设置静态内容缓存时间和 合理使用cookie,其实就是在响应头部添加元素,这里就涉及到web底层的技术,

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注