Почему значение IIS6 Accept-Encoding равно null при попытке сжатия с помощью ASP.Net MVC

Я подключил модуль 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>

person berko    schedule 27.01.2010    source источник


Ответы (1)


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

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

Просмотрите полный список заголовков HTTP в качестве домашнего задания.

person berko    schedule 28.01.2010