Сжатие gzip и Brotli
Страница сайта — это в первую очередь текст: HTML, CSS, скрипты. А текст отлично сжимается. Сжатие на сервере уменьшает то, что отправляется браузеру, в несколько раз — и страница долетает быстрее, особенно на медленном интернете. Это один из самых простых способов ускорить сайт, который часто забывают включить. Разберём, как он работает.
Как это работает
Когда браузер запрашивает страницу, он сообщает серверу: «я умею принимать сжатое». Сервер сжимает текстовые файлы перед отправкой, браузер их распаковывает — и показывает как обычно. Для пользователя всё прозрачно, а по сети летит в разы меньше данных. Два основных алгоритма:
- gzip — проверенный временем, поддерживается абсолютно всеми браузерами. База, которая должна быть включена всегда.
- Brotli — более новый алгоритм от Google, сжимает текст ещё плотнее (часто на 15–25% сильнее gzip). Поддерживается всеми современными браузерами по HTTPS.
Примерное сжатие типичной HTML-страницы — точные цифры зависят от содержимого.
Что сжимать, а что нет
Сжатие применяют к текстовым ресурсам: HTML, CSS, JavaScript, SVG, JSON, шрифты в текстовых форматах. А вот картинки (JPEG, PNG, WebP), видео и архивы сжимать повторно не нужно — они уже сжаты своими алгоритмами, и попытка пожать их ещё раз только зря нагрузит сервер, почти не уменьшив размер. Для картинок работает другая оптимизация — про неё статья как сжать изображения.
Как включить
Сжатие настраивается на стороне сервера, и способ зависит от вашего хостинга:
- Обычный хостинг. Часто сжатие уже включено или включается одной галочкой в панели. Если нет — добавляется парой строк в конфигурацию сервера (для Apache — через .htaccess, для Nginx — в настройках).
- Через CDN. Если используете CDN, сжатие (включая Brotli) обычно включается на его стороне автоматически.
- CMS. Многие движки и плагины оптимизации умеют включать сжатие из админки.
Если не уверены, как это сделать на вашем сервере — это тот вопрос, с которым стоит обратиться в поддержку хостинга. Просьба простая: «включите gzip/Brotli для текстовых ресурсов».
Как проверить, что работает
Откройте инструменты разработчика в браузере (вкладка «Сеть»), обновите страницу и посмотрите заголовки ответа. Если сжатие включено, в ответе будет строка вида:
Значение br означает Brotli, gzip — gzip. Если такой строки нет — сжатие не работает, и это первое, что стоит исправить. Также наличие сжатия проверяют онлайн-сервисы скорости и PageSpeed.
Коротко
Сжатие gzip и Brotli уменьшает вес текстовых файлов (HTML, CSS, JS) в несколько раз перед отправкой браузеру — страница грузится заметно быстрее, особенно на медленном интернете. gzip должен быть включён всегда, Brotli по HTTPS сжимает ещё плотнее. Картинки и видео повторно не сжимают. Включается на стороне сервера или CDN, часто одной настройкой; если сомневаетесь — попросите поддержку хостинга. Проверить легко: в заголовках ответа должна быть строка content-encoding со значением br или gzip.