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 сжаты

Вот пример заголовков ответа (обратите внимание на отсутствие заголовка кодирования содержимого): заголовки ответа на клиентском компьютере

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

сжатие на стороне сервера

Кроме того, кажется, что сервер отправляет правильные заголовки:

заголовки сжатия

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

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

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

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

С уважением, Андре


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

wirehark

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


person Andre Loker    schedule 22.11.2012    source источник
comment
Вы проверяли на уровне сети на клиенте с Wireshark? Может это ваш провайдер.   -  person Jon Skeet    schedule 22.11.2012
comment
У вас есть прокси-сервер или модный маршрутизатор в вашей сети? Он может распаковать данные для их проверки и отправить вам распакованный ответ.   -  person CodeCaster    schedule 22.11.2012
comment
Я провел тест на компьютерах с Windows 8 и Windows 7 в одной и той же сети, т.е. тот же интернет-провайдер и та же сетевая инфраструктура. Попробую покопаться в сетевом трафике с помощью wirehark и посмотреть, что смогу найти.   -  person Andre Loker    schedule 23.11.2012
comment
Я обновил свой вопрос с помощью протокола Wireshark: ответ приходит в сжатом виде с заголовком кодирования содержимого, но все еще отображается в браузере как несжатый. Мне действительно любопытно, что здесь делает Windows.   -  person Andre Loker    schedule 23.11.2012


Ответы (1)


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

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

person Andre Loker    schedule 22.11.2012
comment
У меня точно такая же проблема. Но браузер по-прежнему не выглядит сжатым после того, как я выключил антивирусное программное обеспечение. - person Light; 03.03.2015
comment
То же самое происходит и со мной, и я подозреваю, что Защитник Windows от Microsoft или одна из Microsoft сильно подозревают обновления безопасности задолго до того, как я заподозрил бы мое антивирусное программное обеспечение. И да, я отключил AV, и проблема все еще существует. - person jerhewet; 06.03.2015