`
lnj
  • 浏览: 54394 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
摘要
大名鼎鼎YSlow说了,要"Compress components with gzip"以提高网页显示速度。本文主要讲解如何对iis6启用http压缩。

环境
  • windows server 2003 sp2
  • ms framework 2.0 sp2
  • iis6


背景资料
使用 HTTP 压缩
如果您的站点使用了很大的带宽,或者您希望更加有效地使用带宽,请考虑启用 HTTP 压缩。HTTP 压缩在启用压缩的浏览器和 IIS 之间提供了更短的传输时间。既可以只压缩静态文件,又可以同时压缩静态文件和应用程序响应。如果网络带宽受到限制,使用 HTTP 压缩会很有用(至少对于静态文件来说),除非处理器利用率已经很高。

动态处理会影响 CPU 资源。对动态响应启用压缩后,每次请求动态响应时都会进行压缩。这意味着并不缓存动态响应,每次请求动态响应时,服务器可能需要更多的 CPU 周期来压缩和发送响应。已压缩的静态响应可以被缓存,因此不会像动态响应那样影响 CPU 资源。

HTTP 压缩的工作原理
IIS 在接收到请求时,将检查浏览器是否允许压缩。然后 IIS 会检查文件扩展名,以确定请求的文件是否为静态文件或包含动态内容。如果文件包含静态内容,IIS 将查看以前是否请求过该文件并且已将该文件以压缩格式存储在临时压缩目录中。如果文件没有以压缩格式存储,IIS 会将未压缩的文件发送到浏览器,并在临时压缩目录中添加此文件的压缩副本。如果文件以压缩格式存储,IIS 会将压缩过的文件发送给浏览器。在浏览器首次请求之前,所有文件都不压缩。

如果文件包含动态内容,IIS 将在生成此响应时进行压缩并将压缩后的响应发送给浏览器。不存储此文件的副本。

压缩静态文件的性能代价较小,而且通常只压缩一次,因为该文件随后被存储在临时压缩目录中。压缩动态生成的文件的代价要高一些,因为它们并不存储,并且每次请求时都必须重新生成。在浏览器上展开文件的代价非常小。压缩文件的下载速度更快,所以对于提高使用有限带宽的网络连接(如调制解调器连接)的所有浏览器的性能特别有好处。

默认情况下,压缩文件的截止日期是 1997 年 1 月 1 日,以防止代理服务器将缓存的压缩文件副本发送到未启用压缩的浏览器。这也意味着浏览器在下一次用户请求时并不显示文件的缓存副本,而是返回服务器请求新副本。

http压缩算法
http压缩算法分为两种,deflate和gzip,iis和主流浏览器这两种压缩算法都支持,gzip从压缩效果及资源使用方面更好。

启用http压缩
1. 进入iis管理控制器,查看"网站"节点属性,在"服务"标签页中选中"启用应用程序文件"、"压缩静态文件"。

2. 停止iis服务
运行iisreset -stop
3. 编辑MetaBase.xml
停止iis服务后才能编辑该文件,否则无法保存。打开C:\Windows\system32\inetsrv\MetaBase.xml:
<!-- deflate 算法配置 -->
<IIsCompressionScheme	Location ="/LM/W3SVC/Filters/Compression/deflate"
		HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
		HcCreateFlags="0"
		HcDoDynamicCompression="TRUE"
		HcDoOnDemandCompression="TRUE"
		HcDoStaticCompression="FALSE"
		<!-- 压缩级别,0~10,建议9 -->
		HcDynamicCompressionLevel="9"
		<!-- 静态文件扩展名(与动态生成文件区别参见上述"HTTP 压缩的工作原理") -->
		HcFileExtensions="htm
			html
			txt
			js
			css
			png
			gif
			jpg"
		HcOnDemandCompLevel="10"
		HcPriority="1"
		<!-- 动态生成文件扩展名(与静态文件区别参见上述"HTTP 压缩的工作原理") -->
		HcScriptFileExtensions="asp
			dll
			exe
			aspx
			ashx"
	>
</IIsCompressionScheme>
<!-- gzip 算法配置 -->
<IIsCompressionScheme	Location ="/LM/W3SVC/Filters/Compression/gzip"
		HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
		HcCreateFlags="1"
		HcDoDynamicCompression="TRUE"
		HcDoOnDemandCompression="TRUE"
		HcDoStaticCompression="TRUE"
		<!-- 压缩级别,0~10,建议9 -->
		HcDynamicCompressionLevel="9"
		<!-- 静态文件扩展名(与动态生成文件区别参见上述"HTTP 压缩的工作原理") -->
		HcFileExtensions="htm
			html
			txt
			js
			css
			png
			gif
			jpg"
		HcOnDemandCompLevel="10"
		HcPriority="1"
		<!-- 动态生成文件扩展名(与静态文件区别参见上述"HTTP 压缩的工作原理") -->
		HcScriptFileExtensions="asp
			dll
			exe
			aspx
			ashx"
	>
</IIsCompressionScheme>

4. 启动iis服务
运行iisreset -start

效果
启用压缩前后YSlow的评分对比:

修改前


修改后
  • 大小: 13.7 KB
  • 大小: 17.5 KB
  • 大小: 15 KB
0
0
分享到:
评论

相关推荐

    IIS网页启用Gzip压缩 提高浏览速度 解决伪静态也可压缩 百度会正常收录

    IIS网页启用Gzip压缩提高浏览速度解决伪静态也可压缩百度会正常收录 IIS网页启用Gzip压缩是提高网页访问速度的重要方法之一。通过启用Gzip压缩,可以减少网页的大小,从而提高浏览速度。但是,很多网站管理员不知道...

    IIS上启用Gzip压缩(HTTP压缩)

    ### IIS上启用Gzip压缩(HTTP压缩):深入解析与实践 #### 摘要与前言 在当今高速发展的互联网环境中,网站响应速度成为用户体验的关键因素之一。启用Gzip压缩(HTTP压缩)能够显著减少网页在网络上的传输大小,进而...

    IIS启用GZIP压缩js、css无效的原因及解决方法.docx

    当用户发现IIS启用了GZIP压缩,但js和css文件并未被压缩时,这通常是因为默认配置仅针对HTML文件进行压缩。要解决这个问题,我们需要手动配置IIS以包含js和css文件。 首先,我们需要编辑IIS的配置文件`MetaBase.xml...

    在IIS6中启用压缩

    ### 在IIS6中启用压缩的关键知识点 #### 一、背景与重要性 - **问题描述**:在IIS6环境中,特别是在使用.NET技术开发的应用(例如HCS5.0)中,页面尺寸可能因为丰富的内容和技术特性而变得较大。在较差的网络环境...

    网站加速方法之IIS上启用Gzip压缩.docx

    网站加速方法之IIS上启用Gzip压缩

    网站加速方法之IIS上启用Gzip压缩.doc

    网站加速方法之IIS上启用Gzip压缩.doc

    IIS6.0开启gzip压缩功能

    IIS6.0开启gzip压缩功能,我还有一个7.0的方法。可以查看一下我的资源。

    在IIS上启用Gzip压缩详细方法(HTTP压缩)

    摘要 本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小, 提高用户显示页面的速度. 二.前言. 本文的知识点是从互联网收集整理, 主要来源于中文wiki. 使用YSlow检测网站启用了哪些优化时, ...

    在IIS上启用Gzip压缩 (HTTP压缩)第1/3页

    摘要 本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小, 提高用户显示页面的速度. 二.前言. 本文的知识点是从互联网收集整理, 主要来源于中文wiki. 使用YSlow检测网站启用了哪些优化时, ...

    iis6exp iis6exp

    3. **FTP服务**:IIS6内置了FTP服务器,可以通过配置来满足不同安全性和性能需求,例如通过控制用户访问权限、设置虚拟目录、启用或禁用匿名访问等。 4. **安全管理**:IIS6提供多种安全措施,如基本身份验证、摘要...

    IIS设置Gzip压缩 提高网站速度

    1、打开Internet信息管理器,右击”网站“...2、打开Web服务扩展,在其中增加Gzip压缩扩展并启用 3、设置IIS可进行压缩的文件类型,这一步骤比较繁杂,有一高人写了一个批处理文件,用来简化此操作,批处理内容如下

    IIS6独立安装包

    5. **性能优化**:IIS6支持HTTP压缩,可以减少网络传输的数据量,提高页面加载速度。另外,可以通过调整缓存策略、设置并发连接数等方式优化服务器性能。 6. **日志和监控**:IIS6提供详细的访问日志记录,帮助管理...

    IIS6-SET-GZIP.rar

    2. **IIS6配置**:学习如何在IIS6的 metabase.xml 配置文件中添加或修改规则以启用GZIP压缩。 3. **IIS管理控制台操作**:可能需要通过IIS6的管理控制台进行配置,包括添加筛选器、修改站点属性等。 4. **性能优化**...

    IIS7.0开启gzip压缩

    - `&lt;ExcludedPaths&gt;`:如果不想对某些特定页面启用压缩,可以在这里指定路径(注释掉了表示不使用)。 另外,还需要在`&lt;system.webServer&gt;`节点中添加处理程序和模块配置,以便IIS识别并使用DC.Web.HttpCompress库...

    IIS6缺少文件大全

    为了确保IIS6成功安装,以下是一些关键的文件,这些文件在安装过程中可能被要求或者对IIS6的正常运行至关重要: - **asp.dll**:ASP(Active Server Pages)引擎,用于处理服务器端脚本。 - **w3svc.dll**:Web服务...

    一键开启Windows IIS GZIP压缩工具

    在提供的压缩包中,`IIS6-SET-GZIP.cmd`应该是一个批处理文件,它调用了`adsutil.vbs`来修改IIS设置以开启GZIP压缩。这个批处理文件可能包含以下步骤: 1. 加载WMI命名空间,如`set objWMI = GetObject("winmgmts:{...

Global site tag (gtag.js) - Google Analytics