|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果你让他去用linux搭建一个web服务器,做一个linux网关,他就什么都不会了.他们把时间都浪费在了版本的转换上了.
一.择要
本文总结了怎样为利用IIS托管的网站启用Gzip紧缩,从而削减网页收集传输巨细,进步用户显现页面的速率.
二.媒介.
本文的常识点是从互联网搜集收拾,次要来历于中文wiki.利用YSlow检测网站启用了哪些优化时,Gzip是非常关头的一项.启动Gip紧缩将吹糠见米的削减页面的收集传输巨细.
三.HTTP紧缩概述
HTTP紧缩是在Web服务器和扫瞄器间传输紧缩文本内容的办法。HTTP紧缩接纳通用的紧缩算法如gzip等紧缩HTML、JavaScript或CSS文件。紧缩的最年夜优点就是下降了收集传输的数据量,从而进步客户端扫瞄器的会见速率。固然,同时也会增添一点点服务器的包袱。Gzip是对照罕见的一种HTTP紧缩算法。
四.HTTP紧缩事情道理
Web服务器处置HTTP紧缩的事情道理以下:
1.Web服务器吸收到扫瞄器的HTTP哀求后,反省扫瞄器是不是撑持HTTP紧缩;
在用户扫瞄器发送哀求的HTTP头中,带有"Accept-Encoding:gzip,deflate"参数则标明撑持gzip和deflate两种紧缩算法.
2.假如扫瞄器撑持HTTP紧缩,Web服务器反省哀求文件的后缀名;
静态文件和静态文件后缀启动要所都必要在MetaBase.xml中设置.
静态文件必要设置:HcFileExtensionsMetabaseProperty(单击跳转到MSDN申明)
静态文件必要设置:HcScriptFileExtensionsMetabaseProperty(单击跳转到MSDN申明)
3.假如哀求文件是HTML、CSS等静态文件而且文件后缀启用了紧缩,则Web服务器到紧缩缓冲目次中反省是不是已存在哀求文件的最新紧缩文件;
4.假如哀求文件的紧缩文件不存在,Web服务器向扫瞄器前往未紧缩的哀求文件,并在紧缩缓冲目次中寄存哀求文件的紧缩文件;
5.假如哀求文件的最新紧缩文件已存在,则间接前往哀求文件的紧缩文件;
6.假如哀求文件是ASPX等静态文件而且文件后缀启用了紧缩,Web服务器静态紧缩内容并前往扫瞄器,紧缩内容不寄存到紧缩缓存目次中。
五.在IIS中启用HTTP紧缩
IIS默许其实不撑持HTTP紧缩,必要举行复杂的设置
1.翻开Internet信息服务(IIS)办理器,右击"网站"->"属性",选择"服务"。在"HTTP紧缩"框当选中"紧缩使用程叙文件"和"紧缩静态文件",按必要设置"一时目次"和"一时目次的最年夜限定";
2.提示:经实验此步骤在自己呆板上没有感化,能够疏忽.
在Internet信息服务(IIS)办理器,右击"Web服务扩大"->"增添一个新的Web服务扩大...",在"新建Web服务扩大"框中输出扩大名"HTTPCompression",增加"请求的文件"为C:WINDOWSsystem32inetsrvgzip.dll,个中Windows体系目次依据您的安装大概有所分歧,选中"设置扩大形态为同意";
3.利用文本编纂器翻开C:WindowsSystem32inetsrvMetaBase.xml(倡议先备份),
找到Location="/LM/W3SVC/Filters/Compression/gzip用于设置gzip紧缩,
找到Location="/LM/W3SVC/Filters/Compression/deflate"用于设置deflate紧缩.
下面两个节点紧挨着.而且设置的属性不异.
假如必要紧缩静态文件,则将HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增添您要紧缩的静态文件后缀名,如aspx;假如必要紧缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为"TRUE",并在HcFileExtensions中增添您必要紧缩的静态文件后缀名,如xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel暗示必要的紧缩率,数值在0-10,默许为0.
HcDynamicCompressionLevel属性申明:HcDynamicCompressionLevelMetabaseProperty
HcOnDemandCompLevel属性申明:HcOnDemandCompLevelMetabaseProperty
申明:这两个属性值一样平常保举设置为9,具有最好性价比.可是在我的windowserver2003上,紧缩率不管怎样设置,jQuery和jQueryUI两个文件(58k/188k)紧缩后的巨细一向不异.(20k/45k).
上面是我的实例:
.代码以下:
<IIsCompressionSchemeLocation="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%system32inetsrvgzip.dll"
HcCreateFlags="0"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="true"
HcDynamicCompressionLevel="9"
HcFileExtensions="htm
html
txt
js
css
swf
xml"
HcOnDemandCompLevel="9"
HcPriority="1"
HcScriptFileExtensions="aspaspx
dll
exe"
>
</IIsCompressionScheme>
<IIsCompressionSchemeLocation="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%system32inetsrvgzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="true"
HcDynamicCompressionLevel="9"
HcFileExtensions="htm
html
txt
js
css
swf
xml"
HcOnDemandCompLevel="9"
HcPriority="1"
HcScriptFileExtensions="aspaspx
dll
exe"
>
</IIsCompressionScheme>
4.编纂终了后保留MetaBase.xml文件;假如文件没法保留,则大概IIS正在利用该文件。翻开"入手下手"->"办理工具"->"服务",中断"IISAdminService"后,便可保留;
5.最初,从头启动IIS。能够到HTTP紧缩测试网站考证了局.以jQuery为例,中心类库和UI类库原始巨细分离是57k和188k,紧缩后分离是20k和45k:
我们经由过程Http头中的:Content-Encoding:gzip属性判别前往后的数据已启用了gzip紧缩:
利用YSlow检测,当只启动态态文件紧缩时,Gzip紧缩评级为B:
当同时启动了静态文件紧缩时,Gzip紧缩评级为A:
六.要点总结
1.在修正MetaBase.xml文件时,要中断"IISAdminService"服务.不然没法保留.
2.静态紧缩和静态紧缩率最好设置为9.
3.上文的步骤2,即便不增加Web服务扩大效果也是不异的.
4.紧缩率设置对js文件不起感化,紧缩后巨细老是不异的.
5.图片文件即便启用了gzip紧缩巨细也没有变更.
七.总结
本文总结了怎样在IIS中启用Gzip紧缩.在半年前的项目中我为网站启用了Gzip,明天收拾此文次要为了收拾本人的常识以便今后健忘时温习.别的经检察ChinaCache公司供应的CDN也都启用了Gzip紧缩.
启用IIS6的GZIP功效,进步网站翻开速率,削减带宽占用
利用vbs+cmd,全主动完成,假如一个器材不经常使用,但很有效,仍是把他做成一健式的,如许今后即使健忘也无所谓,归正能够一健100%乐成。
http://xiazai.jb51.net/201101/tools/IIS6-SET-GZIP.rar
常用的linux命令,尤其是一些能帮你提高开发效率的命令,(eg:grep,awk,sed,split等); |
|