开发者

Why does IIS6 Accept-Encoding value equal null when attempting compression with ASP.Net MVC

I have plugged in the HttpCompress module to enable compression for my MVC web application.

If I run my site through the development web server (Cassini) I have no troubles with the executi开发者_StackOverflow社区on of compression.

However when I deploy the site to IIS6 the compression is not executing. I have checked the source code of the compression library and the CompressContent handler returns without acting becuase a null value exists for

app.Request.Headers["Accept-Encoding"]

My best guess is that this has something to do with the handling of extensionless urls in IIS6. What do I need to do to fix this problem in production?

[ below is the config for the module, if that is of any assistance ]

<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>


Some further investigation discovered that I was accessing the server via a proxy, and it appears that the proxy was not forwarding the compression headers to IIS.

It seems the easiest way to identify a proxy meddling with the request is to check the response headers for a via entry.

See the complete list of http headers as a homework task.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜