Как я могу узнать, обслуживает ли мой сервер контент GZipped? - PullRequest
125 голосов
/ 04 февраля 2012

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

Ответы [ 6 ]

194 голосов
/ 04 февраля 2012

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

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

75 голосов
/ 16 сентября 2013

Обновление

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

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

25 голосов
/ 04 февраля 2012

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

Content-Encoding    gzip

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

7 голосов
/ 29 сентября 2016

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

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

, чтобы увидеть, для какого содержимого включен gzip.

enter image description here

7 голосов
/ 26 апреля 2013

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

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

6 голосов
/ 22 ноября 2015

Я написал этот сценарий, основываясь на ответе 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/
...