Brotli prúd (.brotli)
IETF ŠtandardBrotli je open-source algoritmus bezstratovej kompresie dát vyvinutý spoločnosťou Google. Je špeciálne optimalizovaný pre webovú typografiu (WOFF2) a kódovanie obsahu HTTP (Content-Encoding: br) s cieľom urýchliť doručovanie internetových stránok.
Konvertovať BROTLI do GZIP
Bezplatný konvertor z BROTLI do GZIP priamo v prehliadači. Konvertujte súbory okamžite vo svojom zariadení.
Preskúmať a metadáta
Operačné systémy a analyzátory súborov identifikujú súbory Brotli kontrolou počiatočnej binárnej bajtovej sekvencie:
Podpis hlavičky na úrovni bajtov (Magic Bytes)
Operačné systémy a analyzátory súborov identifikujú súbory Brotli kontrolou počiatočnej binárnej bajtovej sekvencie:
HEXADECIMÁLNY PODPIS (OFFSET 0):
CE B2 CF 81ASCII REPREZENTÁCIA: βÏ\x81
Štandardizácia: IETF RFC 7932
Technické špecifikácie
| Architektúra kontajnera | Raw bitstream framing with optional window size declaration and meta-blocks |
| Kompresia | LZ77 sliding dictionary (up to 16 MB), second-order context modeling, and static 120 KB dictionary |
| Poradie bajtov (Endianness) | Little-Endian bit-packing |
| Farebné priestory | N/A (Data Compression Stream) |
| Kanály a štruktúra | General-purpose byte stream compression |
| Max. rozmery | Arbitrary byte stream length (supports unbounded streaming) |
| Priehľadnosť | Lossless byte-for-byte exact roundtrip data preservation |
| Streamovanie a postupné načítavanie | Meta-block chunking allows continuous HTTP chunked transfer streaming |
Technická porovnávacia matica: Brotli vs konkurenti
| Technický atribút | Brotli (Aktuálne) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| Vstavaný statický slovník | Zahrnutý 120 KB webový slovník | Žiadny (iba dynamický) | Slovníky s možnosťou trénovania používateľom | Žiadny (iba dynamický) |
| Webová kompresia (vs Gzip) | O 15 % - 25 % menší ako Gzip | Základný štandard (Gzip) | O 10 % - 20 % menší ako Gzip | Základný Deflate |
| HTTP kódovanie obsahu (Content-Encoding) | 'Content-Encoding: br' | 'Content-Encoding: gzip' | 'Content-Encoding: zstd' | 'Content-Encoding: deflate' |
| Primárny cieľ návrhu | Prenos webového textu a webových fontov | Všeobecná kompresia súborov Unix | Prijímanie údajov a databázy v reálnom čase | Základný kompresný algoritmus |
Bežné režimy poškodenia a príručka na obnovu v hexadecimálnom kóde
Prehliadač nedokáže načítať zdroj s chybou 'ERR_CONTENT_DECODING_FAILED'.
Hlavná príčina: Proxy server alebo server skátil prúd Brotli predtým, než bol prenesený finálny metablok.
Obnova: Vymažte vyrovnávaciu pamäť prehliadača, skontrolujte nastavenia kompresie servera alebo lokálne dekomprimujte cez File2File.
Bezpečnostná analýza a vektory útokov na parser
Statický slovník a modelovanie kontextu v Brotli vyžadujú prísne kontroly hraníc pamäte voči chybne formátovaným spätným odkazom.
Známe vektory útokov
- Čítanie ukazovateľa mimo vyhradený rozsah pri odkazovaní na offsety statického slovníka presahujúce veľkosť tabuľky.
- Dekompresná bomba (ekvivalent zip bomb), ktorá vyčerpáva pamäť klienta z malých dátových payloadov.
- Pretečenie vyrovnávacej pamäte počas zmeny veľkosti kruhovej vyrovnávacej pamäte s posuvným oknom.
Najlepšie obranné postupy:
Historický pôvod a míľniky
Kľúčové výhody a prednosti
- O 15 % až 25 % lepší kompresný pomer ako Gzip pre webové prostriedky HTML, CSS a JavaScript.
- Obsahuje vopred definovaný statický slovník s veľkosťou 120 KB obsahujúci bežné webové slová, značky HTML a frázy.
- Extrémne rýchla rýchlosť dekompresie, ktorá zabezpečuje takmer okamžité vykreslenie stránky na strane klienta.
Technické obmedzenia a nevýhody
- Kompresia na úrovni 11 je výpočtovo náročná (najlepšie sa hodí na predbežnú kompresiu statických prostriedkov).
- Vyžaduje HTTPS vo všetkých webových prehliadačoch, aby sa predišlo poškodeniu transparentným proxy serverom.
- Surové súbory .br nemajú vstavaný názov súboru ani hlavičky oprávnení bez externého zabalenia do kontajnera.
Zaujímavé technické drobnosti
- Brotli je pomenovaný po 'Brötli', čo v švajčiarskej nemčine znamená 'malý chlieb'.
- Statický 120 KB slovník vo vnútri Brotli obsahuje tisíce bežných anglických, španielskych, nemeckých, čínskych a HTML úryvkov.
- Viac ako 95 % modernej internetovej premávky cez Cloudflare, Fastly a Google je doručovaných pomocou kompresie Brotli.
Často kladené technické otázky
Prečo je Brotli pre webové stránky rýchlejší ako Gzip?
Brotli komprimuje súbory HTML, CSS a JS o 20 % menšie ako Gzip a zároveň ich dekomprimuje podobnou rýchlosťou, čím znižuje počet sieťových požiadaviek (roundtrips) vyžadovaných cez mobilné siete.
Prečo Brotli vyžaduje HTTPS?
Webové prehliadače podporujú Brotli iba cez zabezpečené pripojenie HTTPS, pretože staršie transparentné proxy servery na internete by nesprávne interpretovali alebo poškodili nové kódovanie „br“.
Ako môžem dekomprimovať súbor .br?
Súbory .br alebo .brotli môžete okamžite dekomprimovať do obyčajného textu alebo pôvodných súborov pomocou aplikácie File2File.app priamo vo webovom prehliadači.