it-swarm.com.ru

Как я могу узнать, обслуживает ли мой сервер контент GZipped?

У меня есть веб-приложение на сервере NGinx. Я установил gzip on в файле conf и теперь пытаюсь проверить, работает ли он. YSlow говорит, что это не так, но 5 из 6 веб-сайтов, которые проводят тест, говорят, что это так. Как я могу получить определенный ответ на этот вопрос и почему есть разница в результатах?

104
Johnny

Похоже, что один из возможных ответов, что неудивительно, curl :

$ curl http://example.com/ --silent --write-out "%{size_download}\n" --output /dev/null
31032
$ curl http://example.com/ --silent -H "Accept-Encoding: gzip,deflate" --write-out "%{size_download}\n" --output /dev/null
2553

Во втором случае клиент сообщает серверу, что он поддерживает кодирование содержимого, и вы можете видеть, что ответ был действительно более коротким и сжатым.

176
zoul

Обновление

Chrome изменил способ сообщения (см. Оригинальный ответ, если интересно). Вы можете сказать, используя Инструменты разработчика (F12). Перейдите на вкладку Сеть, выберите файл, который вы хотите проверить, а затем посмотрите на вкладку Заголовки справа. Если вы заархивированы, вы увидите это в Content-Encoding.

В этом примере slider.jpg действительно распаковывается.

 enter image description here

Сравните это с той самой страницей, на которой вы находитесь, и посмотрите на файл png, вы не увидите такого обозначения.

 enter image description here

Просто чтобы быть ясно, это не потому, что один JPG, а другой PNG. Это потому, что один взломан, а другой нет.


Предыдущий ответ

В Chrome, если вы откроете Инструменты разработчика и перейдете на вкладку Сеть, то при отсутствии сжатия будет отображаться следующее:

enter image description here

И следующее, если есть IS сжатие:

enter image description here

Другими словами, одно и то же число сверху и снизу означает отсутствие сжатия.

67
Outfast Source

Смотрите в заголовках ответа. В FireFox вы можете проверить с помощью Firebug.

Content-Encoding    gzip

Если сервер поддерживает контент gzip, то это должно отображаться.

23
Ved

Вы можете быстро использовать веб-сервис, такой как: http://www.whatsmyip.org/http-compression-test/

Инструмент «Аудит» в инструментах разработчика Google Chrome также пригодится.

7
Michael Balint

В новой версии Chrome, Инструменты разработчика> сеть, вы можете щелкнуть правой кнопкой мыши по имени столбца, выбрать опцию кодирования содержимого и добавить этот столбец (черный ящик на изображении).

и если вы хотите увидеть размер этого gzip-контента как @Outfast Source - тогда вы можете нажать на иконку рядом с View (отображается как зеленое поле на изображении).

так что вы можете увидеть, какой контент включен gzip.

 enter image description here

6
Krupall

Я написал этот сценарий на основе ответа зул:

#!/bin/bash

URL=$1
PLAIN="$(curl $URL --silent --write-out "%{size_download}\n" --output /dev/null)"
GZIPPED="$(curl $URL --silent -H "Accept-Encoding: gzip,deflate" --write-out "%{size_download}\n" --output /dev/null)"

if test $PLAIN -gt $GZIPPED
then echo "supported"
else echo "unsupported"
fi

пример:

$ ./script.sh https://example.com/
6
Nate Symer

Еще один полезный инструмент: http://gzipwtf.com

Это единственный инструмент, который я видел, который будет анализировать вашу страницу и находить все ресурсы, на которые имеются прямые ссылки (css, js файлы и т.д.), И сообщать вам, если каждый из них gzipped, вместо того, чтобы просто сказать вам, если страница индекса gzipped.

Также предоставляет другую полезную статистику (время загрузки ресурса, скорость и т.д.)

0
Greg