Алгоритм сжатия Brotli: как он работает и почему необходим вашему сайту

Автор: Гаянэ

Дата: 15.06.2022

 

Поделиться:

Существует много способов оптимизировать свой сайт и сделать его более привлекательным для пользователя. Скорость загрузки – один из наиболее важных показателей. Сегодня поговорим об алгоритме сжатия Brotli. 

Существует много способов оптимизировать свой сайт и сделать его более привлекательным для пользователя. Скорость загрузки – один из наиболее важных показателей. Если сайты открываются недостаточно быстро, пользователи просто закрывают вкладку и забывают о ресурсе. Поэтому важно интегрировать в работу новые технологии кэширования и сжатия данных, которые значительно повышают эффективность сайта. Сегодня поговорим об алгоритме сжатия Brotli. 

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

Алгоритм Brotli  – относительно свежая альтернатива более старому и более популярному алгоритму GZIP. Несмотря на то, что на долю Brotli приходится пока сравнительно небольшое число пользователей, алгоритм поддерживается всеми основными браузерами. Во многих случаях Brotli обгоняет в эффективности своего конкурента, поэтому его востребованность растет с каждым днем.

Фан факт: Brotli назвали в честь швейцарской сладкой булки. 

Как работает сжатие данных для веба? 

Чтобы на вашем компьютере открылась какая-либо страница, сервер отправляет ресурсы браузеру. Обнаружив текстовые данные, то есть код, сервер сжимает их и создает пакет файлов. Браузер, в свою очередь, получив этот пакет, распаковывает его и только потом выводит на ваш экран. Этот процесс позволяет ускорить передачу файлов и, следовательно, сокращает время загрузки страниц. По такому принципу работают и Brotli, и gzip. Но что делает Brotli более оптимальным вариантом? 

Brotli vs Gzip   

Оба формата базируются на одних и тех же технологиях: алгоритме LZ77 и коде Хаффмана. Первым был создан Gzip – в 1992 году. Изначально он был написан для проекта GNU и предназначался для сжатия и распаковки файлов. 

Brotli, в свою очередь, гораздо более молодой формат. Его написали в 2013 году в компании Google специально для сжатия данных в вебе. Главное преимущество Brotli перед Gzip – наличие словаря. 

Brotli vs Gzip: подробное сравнение

1. Скорость сжатия и распаковки

  • Gzip работает быстрее на этапе сжатия, но создаёт файлы большего размера. Это может быть плюсом, если важнее скорость сжатия (например, при генерации временных файлов).
  • Brotli сжимает медленнее на высоких уровнях (особенно на максимальном 11-м), но файлы получаются значительно компактнее. При этом распаковка у Brotli происходит почти с той же скоростью, что у Gzip, а иногда и быстрее. Для конечного пользователя это значит: страница открывается быстрее, хотя сервер потратил чуть больше времени на подготовку ответа.

2. Размер сжатых файлов

  • Brotli даёт на 15–25% меньший размер файлов, чем Gzip при одинаковом уровне качества.
  • Это особенно заметно при сжатии JavaScript и CSS — основных ресурсов современных сайтов. Например, один и тот же JS-файл в Gzip может весить 100 КБ, а в Brotli — 75–80 КБ.

3. Поддержка браузеров и серверов

  • Brotli поддерживается всеми современными браузерами: Chrome, Firefox, Safari, Edge, Opera.
  • На стороне серверов Brotli включён «из коробки» в NGINX (с версии 1.9.9), Apache (с версии 2.4.26), а также доступен в CDN-сервисах (Cloudflare, Akamai и др.).
  • Старые браузеры (например, IE) Brotli не поддерживают, поэтому в реальных конфигурациях используют «fallback»: Brotli для современных клиентов, Gzip для устаревших.

4. Использование CPU и памяти

  • Brotli требует больше ресурсов на сжатие, особенно на высоких уровнях. Для небольших сайтов это не критично, но крупные проекты с динамическим контентом часто используют «средние» уровни (4–6), чтобы балансировать между временем сжатия и эффективностью.
  • Gzip более «лёгкий» для процессора, но проигрывает в конечном результате.

5. Реальные сценарии применения

  • Gzip до сих пор часто применяют для динамически генерируемого контента (например, страницы с частыми обновлениями), где важна скорость сжатия.
  • Brotli обычно используют для статических ресурсов (CSS, JS, HTML), которые можно сжать один раз и отдавать пользователям многократно. Так добиваются максимального эффекта.

Итоговое сравнение

КритерийGzipBrotli
Год создания19922013
Размер файловБольшеНа 15–25% меньше
Скорость сжатияБыстрееМедленнее (на высоких уровнях)
Скорость распаковкиБыстраяСравнимая или чуть быстрее
Поддержка браузеровВсе, включая старые (IE)Все современные (Chrome, Firefox, Safari)
Лучшее применениеДинамический контентСтатические ресурсы (CSS, JS, HTML)

Brotli использует словари

Brotli поставляется со встроенным 120-килобайтным статическим словарем  и динамическим модулем для ускорения передачи данных.

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

Динамический модуль, в свою очередь, кэширует последние встретившиеся данные, чтобы воспроизвести их в следующих передачах. Динамический модуль хранит до 16 МБ информации. 

Brotli показывает лучшие результаты

Несмотря на то что gzip все еще более популярен, чем Brotli, последний работает лучше: он создает меньшие по размеры файлы и, как следствие, значительно ускоряет процесс. В результате у пользователей быстрее загружаются сайты, и поэтому снижается число отказов. Именно поэтому так важно интегрировать в работу новые технологии кэширования и сжатия данных, которые значительно повышают эффективность сайта.

Сравнение показателей Brotli с другими форматами сжатия

Стоит отметить, что все большее количество хостинг-провайдеров использует сжатие Brotli на своих серверах, чтобы дать владельцам сайтов дополнительные преимущества в отношении скорости и доставки файлов. Мы создали специализированное управляемое хостинг-решение, которое помимо прочего уже включает регулярное автоматическое сжатие изображений для максимальной производительности сайтов наших клиентов. 

Каталог продуктов и сервисов CS-Cart

Гаянэ
Гаянэ
Контент-маркетолог CS-Cart

Гаянэ Тамразян — писатель и контент-маркетолог, специализирующийся на электронной коммерции. Она создает информативные и актуальные статьи, которые помогают читателям разобраться в сложностях цифровой торговли. Ее стиль написания отличается ясностью и доступностью, что делает материал понятным как для профессионалов, так и для широкой аудитории. Гаянэ стремится делиться знаниями, вдохновляя бизнес и потребителей на успешное взаимодействие в быстро меняющемся мире онлайн-торговли.