Как узнать, работает ли настройка HTTP-сжатия? Есть ли какой-нибудь инструмент, который я могу использовать для просмотра сжатой страницы до того, как она будет распакована браузером? Есть ли какие-нибудь инструменты для измерения количества сжатых файлов и скорости отклика?





Вы можете использовать этот сайт: http://whatsmyip.org/mod_gzip_test/
Для Windows я настоятельно рекомендую Скрипач, это клиентский инструмент, который проксирует ваш веб-трафик и позволяет вам его исследовать. Он покажет вам, включено ли сжатие и работает ли оно. Это также полезно для многих других клиентских задач отладки и диагностики, связанных с HTTP.
Да, это прокси. Пока браузер ведет себя хорошо и следует обычным механизмам для определения того, какой прокси использовать, никаких специальных подключений не требуется.
Используйте Скрипач, чтобы следить за вашими HTTP-передачами.
«Build Request» (создайте HTTP-запрос GET) и проверьте заголовок «Content-Encoding» ответа HTTP для вашей несжатой страницы и проверьте его «Content-Length». Сравните их с теми же значениями для вашей сжатой страницы.
«Content-Encoding» должен быть чем-то вроде «gzip» для сжатых ответов, а ваш Content-Length должен быть короче. Вы можете использовать поля Content-Length из обоих, чтобы определить степень сжатия.
Wireshark, бывший Etherial оказался для меня самым ценным инструментом. Просто выберите сетевой адаптер (если их много), введите «tcp port 80» в поле фильтра, нажмите «Захват» - и все готово.
Если вы хотите перейти на низкую технологию, вы можете подключиться к HTTP-порту (80?) По telnet на целевом сервере и ввести запрос вручную. Если вы получите обратно простой текст, то он не будет сжат, но если вы получите тарабарщину, значит, вы на что-то натолкнулись. Если вам нужно увидеть структуру заголовков, вы можете скопировать их из Firefox, используя что-то вроде расширения Заголовки HTTP в реальном времени.
Я не думаю, что это сработает, если вы не введете правильные заголовки сжатия. Обычно браузер сначала отправляет на сервер заголовки, указывающие типы сжатия, которые он примет, а затем сервер должен отправлять контент только в формате сжатия, который поддерживается браузером (или в противном случае просто без сжатия).
Для Firefox обратите внимание на эти дополнения:
Оба могут использоваться для отслеживания вашего трафика в / из браузера (вы можете видеть размер каждого ответа). Мне особенно нравится Httpfox, действительно хорошее дополнение, которое я использую каждый день.
Помимо чего-то вроде Скрипач для просмотра трафика уровня HTTP, вы можете использовать Firefox с надстройками Firebug и YSlow. YSlow дает вам много полезного анализа того, почему ваша страница может быть медленной - среди них он дает вам размер различных ресурсов, которые загружает ваш запрос (HTML, CSS, JavaScript, изображения и другие медиа и т. д.). Вы можете сравнить размер страниц со сжатием и без него - если HTML меньше при включенном сжатии, вы знаете, что он работает. Он также предоставит вам значения с пустым и готовым кешем, что позволит вам увидеть, сколько вы экономите как для новых, так и для вернувшихся посетителей.
Еще одно голосование за YSlow здесь. Он предупредит вас, если какие-либо из ваших активов не сжаты.
Мы немного поискали. Судя по всему, есть много сайтов, которые могут проверить, что наши страницы сжаты.
Да, есть несколько хороших сайтов, которые делают это, но они не очень полезны для серверов интрасети или разработки localhost. :-(
Самый простой способ - использовать это:
http://www.whatsmyip.org/http-compression-test/
также см. 99webtools.com/http_compression.php# - это проверяет, поддерживает ли его браузер
Это не зависит от IIS, но вы можете использовать cURL:
curl -H 'Accept-Encoding: gzip,deflate' -D - http://example.com
Затем найдите в выходных данных заголовок Content-Encoding: gzip.
Намного проще, чем другие ответы.
у меня не сработало, хотя в ответе заголовка отображается хром
Если у вас есть Chrome, нажмите F12 и перейдите на сайт. Как только сайт загрузится, перейдите на вкладку Сеть. Щелкните файл, который вы ищете, а затем найдите раздел «Заголовки ответа» в разделе «Заголовки». Ищите раздел кодирования содержимого
Посмотрите на картинку ниже для примера.

Чтобы увидеть, сколько данных передано, на вкладке сети наведите указатель мыши на столбец размера. Он показывает полный размер файла, а также размер данных, передаваемых по сети. Пример ниже. См. Всплывающую подсказку, которая показывает эту информацию
content-encoding:gzip просто показывает, что gzip работает. Но где вы видите размер данных и размер содержимого, которые помогут определить степень сжатия и т. д.?
Обновил ответ этой информацией
Самый простой и быстрый способ - взглянуть на вкладку Developer Tools Сеть и посмотреть, отличаются ли значения Содержание и Размер для каждого запроса. Если значения различаются, значит сжатие работает. Разделите размер на содержание, чтобы получить степень сжатия. Я не уверен, как долго эти значения были видны, но они есть в Chrome 53. Не уверен в Firefox.
Это правильный ответ. Обратите внимание, что в последней версии Chrome поле Content, показанное выше, по умолчанию не отображается. Также я думаю, что его переименовали в Content-Length. Если он не отображается, щелкните правой кнопкой мыши заголовки столбцов в любом месте и выберите Response-Headers из списка полей, а затем выберите Content-Length, чтобы увидеть его.
В инструментах разработчика Chrome вы можете добавить заголовок ответа по вашему выбору - content-encoding в вашем случае - в столбцы вкладки Network.
Просто щелкните запрос правой кнопкой мыши, затем щелкните Header Options, Response Headers, а затем выберите Content-Encoding.
Как только вы это сделаете, вы сможете увидеть content-encoding на вкладке Network без необходимости нажимать на какой-либо отдельный запрос:

Я не думаю, что он действует по доверенности; Я думал, что он подключился к стеку TCP / IP, а <a href="msdn.microsoft.com/en-us/library/…> - к передаче. Нет?