Подтвердить что ты не робот

Windows 8, по-видимому, удаляет заголовок кодировки контента из сжатых HTTP-ответов

Я не совсем уверен, относится ли это к SO, но я не знаю, где еще спросить.

Пока я проверял скорость загрузки моего веб-приложения, я заметил, что, по-видимому, никакой HTTP-ответ (независимо от того, какой тип - html, css, js) сжат gzip/deflate. То есть в любом запросе нет заголовка ответа, такого как "Content-Encoding: gzip", и браузер сообщает, что ресурс не сжат.

  • проверено и подтверждено в нескольких браузерах (IE10, FF 17, Chrome 23, Opera 12.10, Safari 5.x)
  • протестирован и подтвержден на двух машинах под управлением Windows 8 Pro
  • дважды проверяется с помощью Fiddler - ответ не сжат и не содержит заголовок кодировки содержимого
  • Это происходит не только для моих веб-приложений, ни один другой веб-сайт, который я тестировал, не отправляет сжатые ответы (в зависимости от браузера).
  • в Windows 7 ответы сжимаются и со всеми заголовками
  • Ответы HTTPS сжаты

Здесь приведен пример заголовков ответов (обратите внимание на отсутствие заголовка кодировки содержимого): response headers on client machine

Я также проверил серверную сторону. Сервер работает под управлением Windows Server 2008 R2/IIS 7.5. Я использовал Failed Request Tracing, чтобы узнать, что отправляет сервер. Ресурс кажется сжатым:

server side compression

Кроме того, сервер, похоже, отправляет соответствующие заголовки:

compression headers

Мое заключение: должно быть, Windows 8, который вмешивается здесь. По-видимому, он изменяет HTTP-ответы. Я полагаю, что Windows 8 получает сжатый ответ, распаковывает его, удаляет заголовок кодировки контента и передает измененный ответ дальше по конвейеру.

Теперь мои вопросы:

  • Кто-нибудь может подтвердить, что Windows 8 изменяет ответы HTTP и работает так, как я описал?
  • Есть ли способ отслеживать или даже отключать это поведение?

Заранее благодарим за ваши ответы.

С уважением, Andre


Обновление: Я использовал Wireshark, чтобы узнать, что приходит к клиенту. Поскольку я ожидал, что ресурсы сжаты, и заголовок кодировки контента все еще присутствует. На приведенном ниже рисунке показан протокол wirehark, а в правом нижнем углу - ответ, полученный от Chrome.

wireshark

Это подтверждает мое предположение о том, что Windows 8 вмешивается.

4b9b3361

Ответ 1

Оказалось, что виновником было мое антивирусное программное обеспечение Avast, более конкретно интегрированный сетевой экран в режиме реального времени. Выключение этого режима приводит к тому, что ответы снова будут сжаты в браузерах.

Что остается интересным, так это то, что Avast также работал на машинах Windows 7, хотя на тех машинных ответах, где они сжаты, когда это применимо во время моих тестов.