码迷,mamicode.com
首页 > Web开发 > 详细

网页启用Gzip压缩 提高浏览速度

时间:2016-04-19 17:24:13      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

1.开GZIP有什么好处?

答:Gzip开启以后会将输出到用户浏览器的数据进行压缩的处理,这样就会减小通过网络传输的数据量,提高浏览的速度。

2.如何启用IIS的Gzip压缩功能:

答:首先,如果你需要压缩静态文件(HTML),需要在硬盘上建一个目录,并给它“IUSR_机器名”这个用户的写权限。如果压缩动态文件 (PHP,asp,aspx)就不需要了,因为它的页面是每次都动态生成的,压缩完就放弃。然后在IIS管理器中,“网站”上面右键-属性,不是下面的某 个站点,而是整个网站。进入“服务”标签,选上启用动态内容压缩,静态内容压缩。然后选中网站下面那个服务器扩展,新建一个服务器扩展。名字无所谓,下面 的添加文件的路径是: c:\windows\system32\inetsrv\gzip.dll,然后启用这个扩展。这时候静态内容是可以压缩的,但是对于动态内 容,aspx文件却不在压缩范围内。因为默认的可压缩文件并没有这个扩展名。而管理界面中你又找不到可以增加扩展名的地方,这时候只能去修改它的配置文件 了。在c:\windows\system32\inetsrv\下面有个MetaBase.xml文件,可以用记事本打开,找到 IIsCompressionScheme,有三个相同名字的段,分别是deflate,gzip,Parameters,第三段不用管它,前两段有基本 相同的参数,在这两段的参数HcScriptFileExtensions下面都加上一行aspx,如果你有其它的动态程序要压缩,也加在这里。 HcDynamicCompressionLevel改成9,(0-10,9是性价比最高的一个)。然后需要重启一下IIS服务,就可以体会到压缩后的速 度了。

Gzip压缩我很早已经就启用了,不过从未与大家分享过。近期由于备案问题,临时更换服务器,结果忘了启用Gzip压缩,周末利用空余时间启用了Gzip压缩,并把全部过程记录下来,与大家分享。

启用Gzip压缩的好处

它的好处显而易见,提高网页浏览速度,无论是之前说的精简代码压缩图片都不如启用Gzip来的实在。下图为启用Gzip后的效果。

技术分享

Gzip压缩效率非常高,通常可以达到70%的压缩率,也就是说,如果你的网页有30K,压缩之后就变成了9K左右。

第一步:打开IIS,启用HTTP压缩服务

技术分享

右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和" 压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";

第二步:启用web服务

技术分享

第三步:修改MetaBase.xml

开始 > 运行中输入 c:\windows\system32\inetsrv,找到 MeteBase.xml,先备份,在修改。(有的服务器不需要修改此文件便可以使用)

搜索 Location ="/LM/W3SVC/Filters/Compression/gzip"

仔细核对下代码:

 <IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="0"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="FALSE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
html
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe"
>
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
html
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe"
>
</IIsCompressionScheme>

替换成:

<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="10"
HcFileExtensions="html
css
js
htm
xml
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="php
dll"
>
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="2"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="10"
HcFileExtensions="html
css
js
htm
xml
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="php
dll"
>
</IIsCompressionScheme>

修改好后,在服务中停止IIS Admin Service 服务.

技术分享

然后在保存MeteBase.xml,保存好后再启动IIS。这样Gzip压缩就启用成功了。

最后,测试Gzip压缩是否成功,可以到站长工具http://tool.chinaz.com/Gzips/进行检测。

提示:

本文仅针对windows的IIS服务器上演示的,VPS主机、独立服务器均可以实现,虚拟主机用户需要咨询空间商(一般虚拟主机都启用了Gzip)

网页启用Gzip压缩 提高浏览速度

标签:

原文地址:http://www.cnblogs.com/lisaNote/p/5408668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!