Brotli-поток (.br)

IETF Стандарт

Brotli: открытый алгоритм сжатия без потерь, разработанный Google и оптимизированный для веб-шрифтов (WOFF2) и HTTP-кодирования содержимого (Content-Encoding: br), чтобы ускорять загрузку страниц.

Конвертировать из BROTLI в GZIP

Бесплатный конвертер из BROTLI в GZIP прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы Brotli по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполнялась локально в песочнице Вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы Brotli по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

CE B2 CF 81

ПРЕДСТАВЛЕНИЕ ASCII: βÏ\x81

Стандартизация: IETF RFC 7932

Технические спецификации

Архитектура контейнераНеобработанный битовый поток с необязательным указанием размера окна и метаблоками.
СжатиеСкользящий словарь LZ77 (до 16 МБ), контекстное моделирование второго порядка и статический словарь размером 120 КБ
Порядок байтов (Endianness)Упаковка бит в порядке от младшего разряда к старшему
Цветовые пространстваН/Д (Поток сжатия данных)
Каналы и структураСжатие байтового потока общего назначения
Максимальные размерыПроизвольная длина байтового потока (поддерживает потоковую передачу без ограничений)
ПрозрачностьТочное побайтовое сохранение данных без потерь при обратном преобразовании
Потоковая передача и прогрессивная загрузкаРазделение на метаблоки позволяет осуществлять непрерывную потоковую передачу HTTP с блочной передачей (chunked transfer)

Техническая матрица сравнения: Brotli с конкурентами

Технический атрибутBrotli (Текущий)GZZSTDDEFLATE
Встроенный статический словарьВключен веб-словарь размером 120 КБНет (только динамические словари)Обучаемые пользователем словариНет (только динамический)
Веб-сжатие (против Gzip)На 15%: 25% меньше, чем у GzipБазовый стандарт (Gzip)На 10%: 20% меньше, чем при использовании GzipБазовый Deflate
HTTP Content-Encoding'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
Основная цель проектированияПередача веб-текста и веб-шрифтовОбщее сжатие файлов UnixБазы данных реального времени и приём данныхБазовый алгоритм сжатия

Распространенные сценарии повреждения и руководство по восстановлению в HEX

Браузер не может загрузить ресурс с ошибкой 'ERR_CONTENT_DECODING_FAILED'.

Первопричина: Прокси-сервер или сервер усекли поток Brotli до того, как был передан финальный метаблок.

Восстановление: Очистите кэш браузера, проверьте настройки сжатия сервера или распакуйте локально через File2File.app.

Анализ безопасности и векторы атак на парсер

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

Известные векторы атак

  • Чтение указателя за пределами выделенной памяти при ссылке на смещения статического словаря за пределы размера таблицы.
  • Бомба распаковки (эквивалент zip-бомбы), исчерпывающая клиентскую память из крошечных полезных нагрузок.
  • Переполнение буфера при изменении размера кольцевого буфера скользящего окна.

Лучшие практики защиты: Задавайте максимальный размер выходного буфера при распаковке недоверенных потоков Brotli.

История происхождения и ключевые этапы

2016IETF публикует Brotli как RFC 7932.
2015Google перепрофилирует Brotli как альтернативу веб-сжатию HTTP общего назначения вместо Gzip.
2013Инженеры Google Юрки Алакуйяла и Золтан Сабадка представляют Brotli для сжатия веб-шрифтов WOFF2.

Ключевые преимущества и плюсы

  • Коэффициент сжатия для веб-ресурсов HTML, CSS и JavaScript на 15: 25% лучше, чем у Gzip.
  • Включает заранее заданный статический словарь размером 120 КБ с распространенными веб-словами, тегами HTML и фразами.
  • Чрезвычайно высокая скорость распаковки, обеспечивающая практически мгновенный рендеринг страниц на стороне клиента.

Технические ограничения и минусы

  • Сжатие на уровне 11 требует больших вычислительных ресурсов (лучше всего подходит для предварительного сжатия статических ресурсов).
  • Для защиты от искажения данных прозрачными прокси-серверами требуется HTTPS во всех веб-браузерах.
  • Необработанные файлы .br не имеют встроенных заголовков имен файлов или прав доступа без внешней контейнеризации.

Интересные технические факты

  • Название Brotli происходит от слова 'Brötli', означающего «маленький хлеб» на швейцарском варианте немецкого языка.
  • Статический словарь размером 120 КБ внутри Brotli содержит тысячи распространенных фрагментов на английском, испанском, немецком и китайском языках, а также фрагменты HTML.
  • Более 95% современного интернет-трафика, проходящего через Cloudflare, Fastly и Google, передается с использованием сжатия Brotli.

Часто задаваемые технические вопросы

Почему Brotli работает быстрее Gzip для веб-сайтов?

Brotli сжимает файлы HTML, CSS и JS на 20% эффективнее, чем Gzip, при схожей скорости распаковки, сокращая число циклов обмена данными по сотовым сетям.

Почему Brotli требует HTTPS?

Веб-браузеры поддерживают Brotli только по защищенным соединениям HTTPS, поскольку устаревшие прозрачные прокси-серверы в интернете неправильно интерпретируют или повреждают новое кодирование 'br'.

Как я могу распаковать файл .br?

Вы можете мгновенно распаковать файлы .br или .brotli в обычный текст или оригинальные файлы с помощью File2File.app прямо в Вашем веб-браузере.