尝试使用ASP.Net MVC进行压缩时,为什么IIS6 Accept-Encoding值等于null

时间:2010-01-27 06:21:34

标签: asp.net-mvc iis-6 compression gzip deflate

我已插入HttpCompress模块以启用我的MVC Web应用程序的压缩。

如果我通过开发Web服务器(Cassini)运行我的网站,那么执行压缩就不会有麻烦。

但是,当我将站点部署到IIS6时,压缩没有执行。我检查了压缩库的源代码,并且CompressContent处理程序返回而不执行,因为

存在空值
app.Request.Headers["Accept-Encoding"]

我最好的猜测是,这与在IIS6中处理无扩展URL有关。我需要做些什么来解决生产中的这个问题?

[以下是模块的配置,如果有任何帮助的话]

<blowery.web>
  <httpCompress preferredAlgorithm="deflate" compressionLevel="high">
    <excludedMimeTypes>
      <add type="image/jpeg" />
      <add type="image/png" />
      <add type="image/gif" />
      <add type="application/pdf" />
    </excludedMimeTypes>
    <excludedPaths></excludedPaths>
  </httpCompress>
</blowery.web>

1 个答案:

答案 0 :(得分:1)

一些进一步的调查发现我是通过代理访问服务器,似乎代理没有将压缩标头转发到IIS。

识别干预请求的代理似乎最简单的方法是检查 通过 条目的响应标头。

complete list of http headers视为家庭作业。