我正在实施页面/资源压缩以提高网站性能。
我试图同时实现吹牛和邪恶的 HttpCompress,但最终得到了相同的结果。这似乎只影响 Firefox,我在 Chrome 和 IE 上测试过。
发生的情况是我第一次请求页面所有外部资源解压正常。页面第二次或第三次出现错误,因为资源似乎没有被解压缩。我得到 unicode 字符,例如:
������í½`I%&/mÊ{JõJ×àt¡`$Ø@ìÁÍæìiG#)«*ÊeVe]f
(实际上这里不能正常显示)
通过 firebug 检查页面显示响应标头为:
缓存控制私有
内容类型文本/html;字符集=utf-8
内容编码 gzip
服务器 Microsoft-IIS/7.5
X-AspNetMvc-2.0 版
X-AspNet-版本 2.0.50727
X-Compressed-By HttpCompress
X-Powered-By ASP.NET 日期 7 月 9 日星期五
2010 06:51:40 GMT 内容长度 2622
这清楚地表明该资源是由 gzip 压缩的。那么客户端的放气方面似乎出了点问题?
我在 web.config 中添加了以下部分(在适当的位置):
<sectionGroup name="blowery.web">
<section name="httpCompress" type="blowery.Web.HttpCompress.SectionHandler, blowery.Web.HttpCompress"/>
</sectionGroup>
<blowery.web>
<httpCompress preferredAlgorithm="gzip" compressionLevel="high">
<excludedMimeTypes>
<add type="image/jpeg"/>
<add type="image/png"/>
<add type="image/gif"/>
</excludedMimeTypes>
<excludedPaths>
<add path="NoCompress.aspx"/>
</excludedPaths>
</httpCompress>
</blowery.web>
<add name="CompressionModule" type="blowery.Web.HttpCompress.HttpModule, blowery.web.HttpCompress"/>
有什么帮助吗?