Тебе GZIP? Да! На!
Самая лучшая оптимизация это та, для которой не надо менять код проекта.
Многие знают, что web-серверы уже давно умеют отдавать данные в жатом виде, а большинство браузеров (~99%) умеют принимать сжатые данные. Тем не менее очень не многие сайты используют сжатие. При использовании сжатия количество передаваемых данных уменьшается от нескольких до десятков раз. Пользователь быстрее получает запрошенные данные, а сервер раньше освобождается для обработки следующего запроса.
Вот пример настройки сервера Apache для использования GZIP-сжатия:
- Устанавливаем необходимые модули: deflate_module и mod_filter.
- Добавляем следующие директивы в файл .htaccess:
FilterDeclare gzip CONTENT_SET
FilterProvider gzip deflate resp=Content-Type $text/
FilterProvider gzip deflate resp=Content-Type $javascript
FilterChain gzip - Перезапускаем Apache.
Источник: «Сжатие 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.