views:

80

answers:

1

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 execution 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>
A: 

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.

berko