Tag Archive: gzip

三月 25th, 2018

为什么要开启 gzip ?

服务器开启 gzip 压缩会大大的提高网站访问速度,带来良好的用户体验,而且降低网站流量,这些好处是显而易见的。下图是本站首页开启 gzip 后的情况:网页大小由 81.7k 压缩到 13.9k,receiving 接收数据只要 21 毫秒就完成了。

 

当然 gzip 并不是百利而无一害。首先服务器压缩网页数据会占用一定的服务器资源,另外如果 gzip 压缩得太厉害(压缩等级太高)可能会让旧版的 IE 系列无法正常打开网页。不过现在服务器一般性能都不会有太大问题,所以开启 gzip 利大于弊。

 

怎样知道服务器是否启用了gzip压缩呢?很简单,开启 firebug,看 network 选项卡,看是否有Content-Encoding : gzip 项,有则表示已开启。chrome 自带的调试工具(F12)也能看到。最简单地是去 chinaz(http://tool.chinaz.com/Gzips/) 去看网站数据。

怎样开启gzip压缩?

 

 

以 CentOS 为例,打开Apache的httpd.conf文件:

# vim /etc/httpd/conf/httpd.conf

 

搜索是否有这两行:

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

 

没有请加上,并确保 /etc/httpd/modules 目录存在 mod_deflate.so 文件。mod_deflate是压缩模块,就是对要传输到客户端的代码进行gzip压缩;mod_headers模块的作用是告诉浏览器页面使用了gzip压缩,如果不开启mod_headers那么浏览器就会对gzip压缩过的页面进行下载,而无法正常显示。

 

如果没问题,在 httpd.conf 最后加上:

<Location />

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/atom_xml

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/x-httpd-php

AddOutputFilterByType DEFLATE text/html

</Location>

 

保存并关闭文件。重启Apache即可:service httpd restart。

其它写法

<IfModule mod_deflate.c>

#必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩

 

SetOutputFilter DEFLATE

#设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩

 

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

 

#同上,就是设置不对exe,tgz,gz。。。的文件进行压缩

 

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

 

#设置对文件是文本的内容进行压缩,例如text/html  text/css  text/plain等

 

AddOutputFilterByType DEFLATE text/*

 

#这段代码你只需要了解application/javascript application/x-javascript这段就可以了,这段的意思是对javascript文件进行压缩

 

AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript

 

#这段是告诉apache对php类型的文件进行压缩

AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp

 

# Netscape 4.x 有一些问题,所以只压缩文件类型是text/html的

 

BrowserMatch ^Mozilla/4 gzip-only-text/html

 

# Netscape 4.06-4.08 有更多的问题,所以不开启压缩

 

BrowserMatch ^Mozilla/4.0[678] no-gzip

 

# IE浏览器会伪装成 Netscape ,但是事实上它没有问题

 

BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

</IfModule>

 

配置到这里apache中的gzip压缩就配置完成,重启apache后,新的配置就会生效。不过开启gzip功能需要额外CPU资源开销。

 

另外题外话:图片没必要开启gzip压缩!

 

使用经由压缩过的图片作为网页背景,cpu飙高,页面假死严重(ie6)

所有的gif 或png等图片这些格式都是经过压缩过后的,对于这些文件进行压缩只是增加服务器负担而已。

 

对于图片优化的话可以使用ImageOptimizer来进行压缩,前提你的服务器足够强大那你可以忽略了。

TAGS: ,
十二月 17th, 2015

网站开启GZip有个非常明显的优点是减少了网络传输的数据量,从而提高了网站打开的速度。如何在cPanel主机面

中开启GZip压缩功能,以增大网站打开的速度。

登陆你的cpanel账户,找到软件优化网站,如图所示

gzip

点击优化网站(Optimize Website),进入管理界面,我们选择全部压缩,如图所示:

youhua

第一个是禁用压缩;

第二个是全部压缩;

第三个是压缩指定的部分;

点击更改设置(Update Setting)即可

现在来测试下我的网站下压缩是否成功测试网址

http://tool.chinaz.com/Gzips/

ces

六月 21st, 2015
经常有用户反馈自己的网站慢,现将yahoo对于网站性能优化的建议整理下供大家参考:
大家可以通过Firefox+FireBug+Yslow来测试以下各项内容。
1. 减少HTTP请求次数 
合并图片、CSS、JS,改进首次访问用户等待时间。
2. 使用CDN 
就近缓存==>智能路由==>负载均衡==>WSA全站动态加速

阅读全文 >>