Brotli-поток (.brotli)

IETF Стандарт

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

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

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

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

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

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

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

или вставьте 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.

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

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

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

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

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

Исторические истоки и вехи

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

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

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

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

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

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

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

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

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

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

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

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

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

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