apache 中开启 gzip 压缩服务

gzip是HTML压缩算法的一种,是在Web服务器和浏览器间传输压缩文本内容的方法。
gzip的工作原理:
[list]Web服务器接收到浏览器的请求后,检查浏览器是否支持HTTP压缩;
如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。[/list]
apache 中开启 gzip 压缩服务-懵比小站
Gzip开启以后会将输出到用户浏览器的数据进行压缩的处理,这样做的好处就是会减小通过网络传输的数据量,提高浏览的速度。但是呢,gzip压缩能较小宽带消耗的压力,但是同时也会增加服务器cpu的压力,所以适当取舍才是关键。

开启方法

gizp压缩可以在服务器中进行,也可以在网页程序中进行,如使用wordpress插件开启。这里讨论如何使用服务器开启gzip压缩。
找到apache的配置文件httpd.conf,该配置文件的路径每个人不一定相同,大致路径:c:/wamp/bin/apache/apache2.4.1/conf 找到后使用文本查找,将以下行的注释去掉(删除“#”)

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

而后在网站根目录中创建.htaccess文件,已存在则直接在该文件的末尾添加如下代码(如果可以配置httpd.conf,可以将下面代码放在httpd.conf最后,重启apache生效。):

# gizp begin

SetOutputFilter DEFLATE
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|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/*
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript
application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# gzip end

保存退出后,重启apache。

查看gizp是否开启

加载一个页面,查看该页面的响应头部是否有Content-Encoding:gzip
apache 中开启 gzip 压缩服务-懵比小站
也可对比加载在浏览器当中的文件大小和服务器中该文件的实际大小来观察gzip压缩的效果。请不要为图片,视频等文件启用gzip压缩这些文件本来就已经是压缩过的格式,重复压缩没有效果,甚至会出现体积变大的负面影响,还造成了CPU的浪费。

喜欢()
评论 (0)
热门搜索
homeagain
分享互联网最新资讯,分布各类教程:苹果cms、vps推荐、宝塔建站知识、edu邮箱、wordpress模板下载……只有你想不到,没有出不了的教程。
243 文章
192 评论
100 喜欢
Top