一.摘要
本文总结了如何为使用IIS托管的网站启用Gzip压缩,?从而减少网页网络传输大小,?提高用户显示页面的速度.
二.前言
本文的知识点是从互联网收集整理,?主要来源于中文wiki.?使用YSlow检测网站启用了哪些数耐码优化时,?Gzip是十分关键的一项.?启动Gip压缩将立竿见影的减少页面的网络传输大小.?
三.、JavaScript或CSS文薯哪件。
压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。
当然,同时也会增加一点点服务器的负担。Gzip是比较常见的一种、CSS等静态文件并且文件后缀启用了压缩,则Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
4.如果亩缓请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
5.如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
6.如果请求文件是ASPX等动态文件并且文件后缀启用了压缩,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
五.?在IIS中启用???
10.??????????????????????txt?????
11.??????????????????????js?????
12.??????????????????????css?????
13.??????????????????????swf?????
14.??????????????????????xml"?????
15.????????
HcOnDemandCompLevel="9"
16.????HcPriority="1"
17.????HcScriptFileExtensions="asp???
18.?????????????aspx?????
19.?????????????dll?????
20.?????????????exe"?????
21.??>
22.</IIsCompressionScheme>
23.<IIsCompressionSchemeLocation="/LM/W3SVC/Filters/Compression/gzip"
24.????HcCompressionDll="%windir%system32inetsrvgzip.dll"
25.????HcCreateFlags="1"
26.????HcDoDynamicCompression="TRUE"
27.????HcDoOnDemandCompression="TRUE"
28.????HcDoStaticCompression="true"
29.????HcDynamicCompressionLevel="9"
30.????HcFileExtensions="htm???
31.??????????????????????html?????
32.??????????????????????txt?????
33.??????????????????????js?????
34.??????????????????????css?????
35.??????????????????????swf?????
36.??????????????????????xml"?????
37.????HcOnDemandCompLevel="9"
38.????HcPriority="1"
39.????????
HcScriptFileExtensions
="asp?????
40.?????????????aspx?????
41.?????????????dll?????
42.?????????????exe"???
43.??>
44.</IIsCompressionScheme>
.csharpcode,?.csharpcode?pre?{?font-size:?small?color:?black?
font-family:?consolas,?"Courier?New",?courier,?monospace?
background-color:?ffffff?/*white-space:?pre*/?}?.csharpcode?pre?
{?margin:?0em?}?.csharpcode?.rem?{?color:?008000?}?.csharpcode?.kwrd?
{?
color:?
0000ff?
}?
.csharpcode?
.str?
{?
color:?
006080?
}?
.csharpcode?
.op?
{?color:?0000c0?}?.csharpcode?.preproc?{?color:?
cc6633?}?.csharpcode?.asp?{?background-color:?
ffff00?
}?
.csharpcode?
.html?
{?
color:?
800000?
}?
.csharpcode?
.attr?
{?
color:?
ff0000?}?.csharpcode?.alt?{?background-color:?f4f4f4?width:?100%?
margin:?0em?}?.csharpcode?.lnum?{?color:?606060?}??
4.编辑完毕后保存MetaBase.xml文件;如果文件无法保存,则可能IIS正在使用该文件。打开"开始"->"管理工具"->"服务",停止"IIS?Admin?Service"后,即可保存
5.最后,重新启动IIS。可以到HTTP压缩测试网站验证结果.以jQuery为例,?核心类库和UI类库原始大小分别是57k和188k,压缩后分别是20k和45k:?
我们通过Http头中的:?Content-Encoding:gzip?属性判断返回后的数据已经启用了gzip压缩:????
使用YSlow检测,?当只启动静态文件压缩时:
Gzip压缩评级为B:?
当同时启动了动态文件压缩时,?Gzip压缩评级为A:??
网站压缩是在信袜掘Web服务器和浏览器间传输压缩文本内容的方法。网站压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或CSS文件。
网站压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。
当然,同时也会增加一点点服务器的负担。Gzip是比较常见的一种HTTP 压缩算法。
压缩方法:
IIS默认并不支持HTTP压缩,需要进行简单的配置
1.打开Internet信息服务(IIS)管理器,右击"网站"->"属性"选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目好基录"和"临时目录的最大限制";
2.提醒: 经试验此步骤在本人机器上没有作用, 可以忽略. 在 Internet信息服务(IIS)管理器,右击"Web服务扩展"->"增加一个新的Web服务扩展...",在"新建Web服务扩展"框中输入扩名"HTTP Compression",添加"要求的文件"为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属性说明:
HcDynamicCompressionLevel Metabase PropertyHcOnDemandCompLevel 属性说明:HcOnDemandCompLevel Metabase Property说明: 这两个属性值一般推荐设置为UI两个文件(58k/188k)压缩后的大小一直相同。
4.编辑完毕后保存MetaBase.xml文件;如果文件无法保存,则可能IIS正在使用该文件。打开"开始"->"管理工具"->"服务",停止"IIS Admin Service"后,即可保存
5.最后,重新启动IIS。可以到HTTP压缩测试网站验证结果.以jQuery为例, 核心类库和UI类库原始大小分别是57k和188k,压缩后分别是20k和45k:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)