- 浏览: 2059970 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
转自:http://wjboy49.iteye.com/blog/501136
一.摘要
本文总结了如何为使用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中设置.
静态文件需要设置: HcFileExtensions Metabase Property (单击跳转到MSDN说明)
动态文件需要设置: HcScriptFileExtensions Metabase Property (单击跳转到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服务扩展"框中输入扩展名"HTTP Compression",添加"要求的文件"为C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中"设置扩展状态为允许";
3.使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.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 Property
HcOnDemandCompLevel 属性说明:HcOnDemandCompLevel Metabase Property
说明: 这两个属性值一般推荐设置为9, 具有最佳性价比.但是在我的window server 2003上, 压缩率无论如何设置, jQuery和jQuery UI两个文件(58k/188k)压缩后的大小一直相同.(20k/45k).
下面是我的实例:
- <IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
- HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
- HcCreateFlags="0"
- HcDoDynamicCompression="TRUE"
- HcDoOnDemandCompression="TRUE"
- HcDoStaticCompression="true"
- HcDynamicCompressionLevel="9"
- HcFileExtensions="htm
- html
- txt
- js
- css
- swf
- xml"
- HcOnDemandCompLevel="9"
- HcPriority="1"
- HcScriptFileExtensions="asp
- aspx
- 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="9"
- HcFileExtensions="htm
- html
- txt
- js
- css
- swf
- xml"
- HcOnDemandCompLevel="9"
- HcPriority="1"
- HcScriptFileExtensions="asp
- aspx
- dll
- exe"
- >
- </IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate" HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" HcCreateFlags="0" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="true" HcDynamicCompressionLevel="9" HcFileExtensions="htm html txt js css swf xml" HcOnDemandCompLevel="9" HcPriority="1" HcScriptFileExtensions="asp aspx 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="9" HcFileExtensions="htm html txt js css swf xml" HcOnDemandCompLevel="9" HcPriority="1" HcScriptFileExtensions="asp aspx dll exe" > </IIsCompressionScheme>
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:
六.要点总结
1. 在修改MetaBase.xml文件时, 要停止"IIS Admin Service"服务. 否则无法保存.
2.静态压缩和动态压缩率最好设置为9.
3.上文的步骤2, 即使不添加Web服务扩展效果也是相同的.
4.压缩率设置对js文件不起作用, 压缩后大小总是相同的.
5.图片文件即使启用了gzip压缩大小也没有变化.
七. 总结
本文总结了如何在IIS中启用Gzip压缩. 在半年前的项目中我为网站启用了Gzip, 今天整理此文主要为了整理自己的知识以便以后忘记时复习. 另外经查看ChinaCache公司提供的CDN也都启用了Gzip压缩.
出处:http://www.cnblogs.com/zhangziqiu/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
发表评论
-
Excel筛选后怎样计算筛选结果的行数?
2011-09-03 10:08 2377Excel筛选后怎样计算筛选结果的行数? 摘自:http ... -
如何在百度、Google地图输入经纬度进行查询?
2011-04-21 10:24 16536问题描述:如何在百度、Google地图输入经纬度进行查询? ... -
在word里 怎么样自动生成目录
2011-03-23 11:44 1621摘自:http://zhidao.baidu.co ... -
GHOST XP V10将我所有的盘都格式化并且缩成一个C盘,我所有的文件都不在了!!!
2011-03-11 18:13 1110问题描述: GHOST XP V10将我所有的盘都格式化并且缩 ... -
ddd
2010-11-05 21:24 819http://nc.mofcom.gov.cn/news/12 ... -
DotTrace工具 检查你程序的cpu分配
2010-10-09 16:11 1084网友所说: DotTrace工具来检查你程序的cpu分配 -
Word 不要显示回车换行符问题
2010-09-20 18:57 1774摘自:http://ask.lenovo.com.cn/ ... -
UltraEdit批量修改文件内容
2010-09-20 15:08 2597UltraEdit批量修改文件内容 转 ... -
匿名用户失效时--如何更改IIS默认的匿名用户
2010-09-06 09:59 1186如何更改IIS默认的匿名用户 错误描述: 您 ... -
远程桌面的全屏
2010-09-04 12:56 1419转自:http://wenwen.soso.com/z/q19 ... -
怎样去掉WORD文档中的空格?
2010-08-20 11:39 1314吾阅:经验证,可行; 摘自:http://iask.s ... -
电子塑封机使用方法 SF320
2010-08-11 14:57 2810电子塑封机使用方法 ... -
文字居中的快捷键-- word Ctrl+E
2010-08-03 06:31 2296已验证: word里文字居中的快捷键 是Ctrl ... -
学正则表达式用MTrace
2010-07-28 18:01 9232010-7-28 待验证 学正则表达式 ... -
手机内存卡里出现了乱码是怎么回事
2010-07-15 16:53 3349吾阅:经验证,修复后,去掉了好多的乱码文件,但并不完全; ... -
不用升级 普通MP4也能看PDF ---PDFtoJPG
2010-07-15 11:16 1169吾阅:待验证; ------------- ... -
使用无驱固件的播放机的文件排序技巧--例如MP3内的文件播放顺序
2010-07-14 14:49 1087吾阅:待验证; ... -
word2003中,格式刷有快捷键吗
2010-07-14 13:49 1493吾阅:如果双击格式刷,可连续多次使用! - ... -
Ruby1.8.7安装全程指南
2010-07-07 15:31 2982吾阅:只差Rails没安装外,其他照着做,就可以完成;但 ... -
PS:晚上拍的照片,把它调成像白天照的效果
2010-07-02 10:58 33602010-7-2 问题描述:PS,将数码相机拍下 ...
相关推荐
本文将详细介绍如何在IIS中启用Gzip压缩,包括启用Gzip压缩的步骤、配置文件的修改等。同时,本文还将解释Gzip压缩的原理和优点,以及为什么伪静态页面也可以被压缩。 一、IIS中启用Gzip压缩的步骤 要在IIS中启用...
### IIS上启用Gzip压缩(HTTP压缩):深入解析与实践 #### 摘要与前言 在当今高速发展的互联网环境中,网站响应速度成为用户体验的关键因素之一。启用Gzip压缩(HTTP压缩)能够显著减少网页在网络上的传输大小,进而...
本文主要探讨的是在IIS服务器上启用GZIP压缩针对JavaScript(js)和CSS文件无效的问题及其解决方案。 IIS(Internet Information Services)是微软提供的一个Web服务器,支持多种功能,包括GZIP压缩。当用户发现IIS...
网站加速方法之IIS上启用Gzip压缩
网站加速方法之IIS上启用Gzip压缩.doc
摘要 本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小, 提高用户显示页面的速度. 二.前言. 本文的知识点是从互联网收集整理, 主要来源于中文wiki. 使用YSlow检测网站启用了哪些优化时, ...
IIS6.0开启gzip压缩功能,我还有一个7.0的方法。可以查看一下我的资源。
本文将详细讲解如何在Windows IIS上启用GZIP压缩以及涉及的相关知识点。 首先,我们需要理解GZIP压缩的工作原理。GZIP是一种通用的文件格式,用于无损数据压缩。在网络传输中,服务器通过GZIP算法对HTML、CSS、...
摘要 本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小, 提高用户显示页面的速度. 二.前言. 本文的知识点是从互联网收集整理, 主要来源于中文wiki. 使用YSlow检测网站启用了哪些优化时, ...
完成上述步骤后,IIS 7.0就会根据你的配置对相应内容启用GZIP压缩。请注意,虽然GZIP压缩可以显著提升用户体验,但也会增加服务器CPU的使用率,因此在高负载环境中需要权衡压缩带来的益处和额外的计算成本。 最后,...
通过在IIS服务器上启用GZip压缩,可以显著提高网页加载速度并降低网络带宽消耗。这对于改善用户体验和提高网站的整体性能至关重要。遵循本文所述步骤进行配置后,即可轻松享受更快的网页加载速度带来的好处。
1、打开Internet信息管理器,右击”网站“...2、打开Web服务扩展,在其中增加Gzip压缩扩展并启用 3、设置IIS可进行压缩的文件类型,这一步骤比较繁杂,有一高人写了一个批处理文件,用来简化此操作,批处理内容如下
### 在IIS6中启用压缩的关键知识点 #### 一、背景与重要性 - **问题描述**:在IIS6环境中,特别是在使用.NET技术开发的应用(例如HCS5.0)中,页面尺寸可能因为丰富的内容和技术特性而变得较大。在较差的网络环境...
标题提到的"WIN2003下IIS6.0环境设置页面Gzip压缩"是一个关于如何在Windows Server 2003上的Internet Information Services (IIS) 6.0中启用HTTP压缩,特别是使用Gzip算法来减小网页传输大小的技术主题。HTTP压缩是...
总结来说,配置IIS 6.0上的Gzip压缩是一项有效的优化策略,尤其对于高流量的网站而言,它可以显著降低带宽消耗,提高用户访问速度。然而,需要注意的是,过度的压缩可能会增加服务器CPU负担,因此需要在性能与带宽...
为了在IIS中启用gzip压缩,管理员可能需要将这个文件放置在正确的系统目录,并且可能还需要修改IIS的配置设置。具体步骤通常包括: 1. 将gzip.dll复制到系统目录,如`C:\Windows\System32\inetsrv`。 2. 如果IIS...