Почему значение Accept-Encoding в IIS6 равно нулю при попытке сжатия с ASP.Net MVC - PullRequest
0 голосов
/ 27 января 2010

Я подключил модуль HttpCompress , чтобы включить сжатие для моего веб-приложения MVC.

Если я запускаю свой сайт через веб-сервер разработки (Cassini), у меня не возникает проблем с выполнением сжатия.

Однако при развертывании сайта в IIS6 сжатие не выполняется. Я проверил исходный код библиотеки сжатия, и обработчик CompressContent возвращает бездействие, поскольку для

существует нулевое значение
app.Request.Headers["Accept-Encoding"]

По-моему, это связано с обработкой URL-адресов без расширений в IIS6. Что мне нужно сделать, чтобы исправить эту проблему на производстве?

[ниже приведена конфигурация для модуля, если это поможет]

<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 Ответ

1 голос
/ 28 января 2010

Некоторое дальнейшее расследование обнаружило, что я обращался к серверу через прокси-сервер, и похоже, что прокси-сервер не перенаправлял заголовки сжатия в IIS.

Кажется, что самый простой способ идентифицировать вмешательство прокси-сервера в запрос - это проверить заголовки ответа для через запись.

См. Полный список заголовков http как домашнее задание.

...