Proud Brotli (.br)
IETF StandardníBrotli je open-source bezztrátový kompresní algoritmus vyvinutý společností Google, speciálně optimalizovaný pro webovou typografii (WOFF2) a kódování obsahu HTTP (Content-Encoding: br) za účelem zrychlení načítání internetových stránek.
Převést BROTLI na GZIP
Bezplatný konvertor z BROTLI do GZIP v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.
Kontrola a metadata
Operační systémy a analyzátory souborů identifikují soubory Brotli kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory Brotli kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (POSUN 0):
CE B2 CF 81ASCII REPREZENTACE: βÏ\x81
Standardizace: IETF RFC 7932
Technické specifikace
| Architektura kontejneru | Rámování surového bitového proudu s volitelným údajem o velikosti okna a metabloky |
| Komprese | Posuvný slovník LZ77 (až 16 MB), modelování kontextu druhého řádu a statický slovník o velikosti 120 KB |
| Pořadí bajtů | Little-endian pořadí bitů |
| Barevné prostory | Nevztahuje se (proud komprimovaných dat) |
| Kanály a struktura | Univerzální komprese bajtového proudu |
| Max. rozměry | Libovolná délka bajtového proudu (podporuje neomezené streamování) |
| Průhlednost | Bezztrátové zachování dat při přesné obnově bajt po bajtu |
| Streamování a progresivní načítání | Dělení na metabloky umožňuje průběžné streamování HTTP po blocích |
Technická srovnávací matice: Brotli vs konkurence
| Technický atribut | Brotli (Aktuální) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| Vestavěný statický slovník | Zahrnut webový slovník o velikosti 120 KB | Žádný (pouze dynamický) | Uživatelsky trénovatelné slovníky | Žádný (pouze dynamický) |
| Webová komprese (vs Gzip) | O 15 % až 25 % menší než u Gzipu | Základní standard (Gzip) | O 10 % až 20 % menší než u Gzipu | Základní Deflate |
| Kódování obsahu HTTP | „Content-Encoding: br“ | „Content-Encoding: gzip“ | „Content-Encoding: zstd“ | „Content-Encoding: deflate“ |
| Hlavní cíl návrhu | Přenos webových textů a webových písem | Běžná komprese souborů v systému Unix | Databáze v reálném čase a příjem dat | Základní kompresní algoritmus |
Běžné režimy poškození a příručka pro obnovení v hex
Prohlížeč nedokáže načíst zdroj a zobrazí chybu „ERR_CONTENT_DECODING_FAILED“.
Hlavní příčina: Proxy server nebo server zkrátil proud Brotli před odesláním posledního metabloku.
Obnovení: Vymažte mezipaměť prohlížeče, zkontrolujte nastavení komprese serveru nebo dekomprimujte lokálně pomocí File2File.app.
Bezpečnostní analýza a vektory útoků na parser
Statický slovník a kontextové modelování Brotli vyžadují důsledné kontroly mezí paměti proti chybně formátovaným zpětným odkazům.
Známé vektory útoků
- Čtení ukazatele mimo vyhrazený prostor při odkazování na offsety statického slovníku nad rámec velikosti tabulky.
- Dekompresní bomba (obdoba „zip bomb“), která vyčerpá paměť klienta při rozbalení malého souboru.
- Přetečení vyrovnávací paměti během změny velikosti kruhové vyrovnávací paměti klouzavého okna.
Doporučené bezpečnostní postupy: Vynutit maximální velikosti výstupní vyrovnávací paměti během dekomprese nedůvěryhodných proudů Brotli.
Historický vývoj a milníky
Klíčové výhody a přednosti
- Kompresní poměr je u webových souborů HTML, CSS a JavaScriptu o 15 % až 25 % lepší než u Gzipu.
- Obsahuje předdefinovaný statický slovník o velikosti 120 KB obsahující běžná webová slova, značky HTML a fráze.
- Extrémně vysoká rychlost dekomprese zajišťující téměř okamžité vykreslení stránky na straně klienta.
Technická omezení a nevýhody
- Komprese na úrovni 11 je výpočetně náročná (nejlépe se hodí pro předběžnou kompresi statických prostředků).
- Vyžaduje HTTPS ve všech webových prohlížečích, aby se zabránilo poškození transparentním proxy serverem.
- Čisté soubory .br postrádají vestavěné hlavičky názvů souborů nebo oprávnění bez externího kontejneru.
Zajímavé technické drobnosti
- Brotli je pojmenováno po „Brötli", což v švýcarské němčině znamená „chlebíček" nebo „malý chléb".
- Statický 120 KB slovník uvnitř Brotli obsahuje tisíce běžných anglických, španělských, německých, čínských a HTML útržků.
- Brotli podporují hlavní webové servery a prohlížeče, jeho podíl na provozu se však liší podle služby a typu odpovědi.
Často kladené technické otázky
Proč je Brotli pro weby rychlejší než Gzip?
Brotli může v některých případech vytvářet menší textové soubory pro web než Gzip, rozdíl však závisí na obsahu, nastavení komprese a implementaci.
Proč Brotli vyžaduje HTTPS?
Webové prohlížeče podporují Brotli pouze přes zabezpečená připojení HTTPS, protože starší transparentní proxy servery na internetu by nové kódování „br“ špatně interpretovaly nebo poškodily.
Jak mohu dekomprimovat soubor .br?
Soubory .br nebo .brotli můžete okamžitě dekomprimovat do prostého textu nebo původních souborů pomocí aplikace File2File.app přímo ve vašem webovém prohlížeči.