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

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

Ответ 1

Похоже, что один из возможных ответов - неудивительно, 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

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

Ответ 2

Обновление

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

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

enter image description here

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

enter image description here

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


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

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

enter image description here

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

enter image description here

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

Ответ 3

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

Content-Encoding    gzip

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

Ответ 4

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

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

Ответ 5

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

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

так что вы можете видеть, какой контент поддерживает gzip.

enter image description here

Ответ 6

Я написал этот script на основе ответа zoul:

#!/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/

Ответ 7

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

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

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

Ответ 8

Ни один из вышеперечисленных онлайн-инструментов не смог проверить мой URL-адрес, который был XML файлом, однако это верно:

http://www.feedthebot.com/tools/gzip/

gzip test sample