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

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

Контейнерна архитектураRaw bitstream framing with optional window size declaration and meta-blocks
КомпресияLZ77 sliding dictionary (up to 16 MB), second-order context modeling, and static 120 KB dictionary
Поредност на байтовете (Endianness)Little-Endian bit-packing
Цветови пространстваN/A (Data Compression Stream)
Канали и структураGeneral-purpose byte stream compression
Максимални размериArbitrary byte stream length (supports unbounded streaming)
ПрозрачностLossless byte-for-byte exact roundtrip data preservation
Стрийминг и прогресивно зарежданеMeta-block chunking allows continuous HTTP chunked transfer streaming

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

Технически атрибутBrotli (Текущ)GZZSTDDEFLATE
Вграден статичен речникВключен уеб речник с размер 120 KBНяма (само динамичен)Потребителски обучими речнициНяма (само динамичен)
Уеб компресия (в сравнение с 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База данни в реално време и приемане на данниОсновен алгоритъм за компресия

Често срещани режими на повреда и ръководство за хекс възстановяване

Браузърът не успява да зареди ресурс с грешка 'ERR_CONTENT_DECODING_FAILED'.

Първопричина: Прокси сървърът или уеб сървърът е прекъснал Brotli потока преди предаването на крайния метаблок.

Възстановяване: Изчистете кеша на браузъра, проверете настройките за компресия на сървъра или декомпресирайте локално чрез File2File.

Анализ на сигурността и вектори на атака към парсера

Статичният речник и контекстното моделиране на Brotli изискват стриктни проверки на границите на паметта срещу деформирани обратни препратки (back-references).

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

  • Четене на указател извън позволените граници при препращане към отмествания в статичния речник извън размера на таблицата.
  • Бомба за декомпресия (еквивалент на zip bomb), изтощаваща клиентската памет от малки полезни товари.
  • Препълване на буфера по време на преоразмеряването на пръстеновидния буфер с плаващ прозорец (sliding window ring buffer).

Защитни добри практики:

Исторически произход и етапи

2016IETF публикува Brotli като RFC 7932, което води до универсално приемане от HTTP уеб браузърите.
2015Google пренасочва Brotli като алтернатива за общо предназначение за HTTP уеб компресия на мястото на Gzip.
2013Инженерите на Google Юрки Алакуяла (Jyrki Alakuijala) и Золтан Сабадка (Zoltán Szabadka) представят Brotli за компресия на уеб шрифтове WOFF2.

Основни предимства и плюсове

  • 15% до 25% по-добър коефициент на компресия от Gzip за HTML, CSS и JavaScript уеб ресурси.
  • Включва предварително дефиниран статичен речник от 120 KB с често срещани уеб думи, HTML тагове и фрази.
  • Изключително висока скорост на декомпресия, осигуряваща близка до мигновената визуализация на страниците от страна на клиента.

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

  • Компресията на ниво 11 е изчислително скъпа (най-подходяща за предварителна компресия на статични ресурси).
  • Изисква HTTPS във всички уеб браузъри за предотвратяване на повреда от прозрачни прокси сървъри.
  • Суровите файлове с разширение .br нямат вградени имена на файлове или хедъри за права без външно контейнеризиране.

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

  • Brotli е кръстен на 'Brötli', което означава „малък хляб" на швейцарски немски.
  • Статичният речник с размер 120 KB вътре в 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 директно във вашия уеб браузър.