Использование Fiddler для проверки сжатия IIS
-
23-08-2019 - |
Вопрос
Как мне узнать, работает ли сжатие IIS с использованием Скрипач?У меня есть страница, которая при просмотре через Программное обеспечение Port80Software или Инструмент сети GID похоже, что он выглядит сжатым.
Однако, когда я смотрю вызов в Fiddler, я вижу 'Accept-Encoding:gzip, deflate" в заголовке запроса, но я не вижу 'Content-Encoding:gzip' или 'deflate' в заголовке ответа.Кроме того, в разделе Трансформатор выбрано значение "Без сжатия".
Спасибо!
Крис
Решение 2
Я пошел прямо к источнику (к Эрику Лоуренсу), и вот что он сказал:
Действительно, Fiddler показывает, что ваш сайт сжимается должным образом.
Есть ли у вас вышестоящий прокси-сервер сервер в вашей среде?Вы пробовали этот тест из своей домашней сети а не из корпоративной сети?
В корпоративной сети Microsoft мы все находимся за прокси-сервером ISA.Он настроен на удаление исходящего Заголовка Accept-Encoding (который сообщает серверам использовать сжатие), и если сжатый ответ получен прокси-сервером, он распаковывается ISA сервером.Это делается для того, чтобы прокси-сервер ISA мог сканировать содержимое на наличие вредоносных данных.Недостатком является то, что Fiddler видит трафик только как он получен от вышестоящего прокси-сервера.
Обычно, когда нам нужно протестировать сжатие и тому подобное, мы делаем это из дома или так называемого “DTAP” — прямой выход в Интернет, который не проходит через прокси.
Другие советы
В моей версии fiddler есть кнопка автокодирования, из-за которой все выглядело так, будто у него нет сжатия.После отключения этой функции мои ответы показали сжатие
На вкладке Инспекторы есть группа вложенных вкладок.Убедитесь, что у вас выбран Трансформатор.Затем для каждого запроса при загрузке страницы проверьте, был ли он отправлен с использованием GZIP или без сжатия.
Fiddler довольно хорош и позволяет вам выбирать каждый отдельный запрос, сделанный при загрузке файла.
Основываясь на различных ответах и комментариях, я собираюсь сделать вывод, что, возможно, сама страница (text/html
) сжимается, но text/xml
вы доставляете как часть AJAX-запроса (?), а другой контент, доставляемый для страницы, - нет.
Как я уже упоминал в комментарии, обычно вы хотите сжать text/*
(т.е.- text/html
, text/plain
, text/css
, и т.д.) и application/javascript
& application/ecmascript
(согласно rfc4329).Если вы доставите свой .js
файлы, использующие какой-либо другой тип MIME (например, application/x-javascript
или text/javascript
), сжать это вместо этого или изменить тип MIME, используемый для доставки .js
файлы в соответствии со стандартом RFC.
Смотрите соответствующую ссылку ниже для обновления типов MIME, которые сжимаются на вашем сервере:
- Использование сжатия HTTP на вашем веб-сайте IIS 5.0
- Настройка типов файлов, которые сжимает IIS (IIS 6.0)
- Как добавить типы контента для сжатия HTTP в IIS 7.0
Последнее замечание, которое я должен сделать, некоторые веб-браузеры (в частности, определенные версии Netscape 4, но могут быть и другие) отправляют Accept-Encoding: gzip,deflate
для запросов файлов CSS и JavaScript, но фактически не смог распаковать содержимое.Кроме того, некоторые версии Internet Explorer (5.5 & 6) были проблемы со сжатием.
Я знаю, что конфигурация сжатия Apache по умолчанию, которую я использовал, решает эти проблемы, я не уверен, как (или будет ли) IIS компенсирует их.