专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »服务器 » xpiis6:对iis6启用http压缩 »正文

xpiis6:对iis6启用http压缩

来源: 发布时间:星期四, 2009年9月24日 浏览:0次 评论:0
  环境

  windows server 2003 sp2

  ms framework 2.0 sp2

  iis6

  背景资料

  使用 HTTP 压缩

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

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

  HTTP 压缩工作原理

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

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

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

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

  http压缩算法

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

  启用http压缩

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



  2. 停止iis服务

  运行iisre -stop

  3. 编辑MetaBase.xml

  停止iis服务后才能编辑该文件否则无法保存打开C:\Windows\system32\inetsrv\MetaBase.xml:

  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 
  g 
  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 
  g 
  jpg" 
 HcOnDemandCompLevel="10" 
 HcPriority="1" 
 <!-- 动态生成文件扩展名(和静态文件区别参见上述"HTTP 压缩工作原理") --> 
 HcScriptFileExtensions="asp 
  dll 
  exe 
  aspx 
  ashx" 
 > 
</IIsCompressionScheme> 




  4. 启动iis服务

  运行iisre -start

  效果

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

  修改前



  修改后





0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: