jblzg的技术园

关注基于.Net的Web解决方案,高性能数据库设计,高性能Web服务解决方案,关注移动开发

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Tengs2000的文章:《[ASP.NET 优化] IIS6 Gzip》已经图文并茂地把如何在IIS6.0上启用Gzip讲的很清楚了,我这里只是要根据自己在配置过程中的问题做一些补充。

先说说我遇到的问题:我们公司用了CDN服务,在按照上面的方法配置好Gzip后,不通过CDN,直接用Fidller或者FireFox Firebug看页面信息,都能看到已经通过Gzip压缩过了,但是在Linux下面使用wget、curl等 工具查看同样的页面信息时,却发现没有压缩。这个问题一直没有解决。最后在MetaBase.xml第三段IIsCompressionSchemes中发现了三个很重要的参数:

  • HcNoCompressionForHttp10
  • HcNoCompressionForProxies
  • HcNoCompressionForRange

它们的默认值分别是:

  • HcNoCompressionForHttp10="TRUE"
  • HcNoCompressionForProxies="TRUE"
  • HcNoCompressionForRange="FALSE" 

当把HcNoCompressionForHttp10的值设置成FALSE时,wget与curl就可以看到页面已经被gzip压缩了。

由此分析:虽然wget与curl在页面返回信息中写着其使用了http1.1,但实际上它们实际仍然在使用http1.0。禁止为http1.0启用压缩设为否,就可以解决这个问题了。

posted on 2008-11-14 17:10  jblzg  阅读(1453)  评论(0编辑  收藏  举报