APetrov.ruЗаписки о жизни

Тебе GZIP? Да! На!

Самая лучшая оптимизация это та, для которой не надо менять код проекта.

Многие знают, что web-серверы уже давно умеют отдавать данные в жатом виде, а большинство браузеров (~99%) умеют принимать сжатые данные. Тем не менее очень не многие сайты используют сжатие. При использовании сжатия количество передаваемых данных уменьшается от нескольких до десятков раз. Пользователь быстрее получает запрошенные данные, а сервер раньше освобождается для обработки следующего запроса.

Вот пример настройки сервера Apache для использования GZIP-сжатия:

Источник: «Сжатие gzip для JavaScript и CSS».

А теперь то, о чем забыл сказать автор вышеупомянутой статьи. Сжимать файлы изображений бессмысленно! Добавим исключение в файл .htaccess:

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

Для тех, кто не может установить необходимые модули, Apache существует директива php_value output_handler ob_gzhandler для файла .htaccess, которая сжимает все то, что отдает PHP, т. е., в большинстве случаев, только HTML.

Теперь осталось проверить HTTP-заголовки на предмет того, что текстовые данные сжимаются, а изображения нет. Для этого можно воспользоваться дополнением к FireFox «Live HTTP Headers». Если в ответе сервера присутствует строка Content-Encoding: gzip, значит данные передаются в сжатом виде.

P.S.

Спасибо Александру Дворину за помощь в настройке Apache.

Комментировать