Brotli pretok (.brotli)
IETF StandardBrotli je odprtokodni algoritem za stiskanje podatkov brez izgub, ki ga je razvil Google in je posebej optimiziran za spletno tipografijo (WOFF2) ter kodiranje vsebine HTTP (Content-Encoding: br) za pospešitev nalaganja internetnih strani.
Pretvori BROTLI v GZIP
Brezplačen pretvornik iz BROTLI v GZIP v brskalniku. Pretvorite datoteke takoj v svoji napravi.
Pregled in metapodatki
Operacijski sistemi in analizatorji datotek identificirajo datoteke Brotli s pregledom vodilnega binarnega zaporedja bajtov:
Podpis glave na ravni bajtov (Čarobni bajti)
Operacijski sistemi in analizatorji datotek identificirajo datoteke Brotli s pregledom vodilnega binarnega zaporedja bajtov:
PODPIS HEX (ZAMIK 0):
CE B2 CF 81REPREZENTACIJA ASCII: βÏ\x81
Standardizacija: IETF RFC 7932
Tehnične specifikacije
| Arhitektura vsebnika | Raw bitstream framing with optional window size declaration and meta-blocks |
| Stiskanje | LZ77 sliding dictionary (up to 16 MB), second-order context modeling, and static 120 KB dictionary |
| Vrstni red bajtov | Little-Endian bit-packing |
| Barvni prostori | N/A (Data Compression Stream) |
| Kanali in struktura | General-purpose byte stream compression |
| Največje dimenzije | Arbitrary byte stream length (supports unbounded streaming) |
| Prosojnost | Lossless byte-for-byte exact roundtrip data preservation |
| Pretočno in progresivno predvajanje | Meta-block chunking allows continuous HTTP chunked transfer streaming |
Tehnična primerjalna matrika: Brotli proti konkurenci
| Tehnični atribut | Brotli (Trenutno) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| Vgrajen statični slovar | Vključen spletni slovar velikosti 120 KB | Brez (samo dinamični) | Uporabniško nastavljivi slovarji | Brez (samo dinamični) |
| Spletno stiskanje (v primerjavi z Gzip) | 15 % - 25 % manjše kot pri Gzip | Osnovni standard (Gzip) | 10 % - 20 % manjše kot pri Gzip | Osnovni Deflate |
| Kodiranje vsebine HTTP | 'Content-Encoding: br' | 'Content-Encoding: gzip' | 'Content-Encoding: zstd' | 'Content-Encoding: deflate' |
| Glavni cilj načrtovanja | Prenos spletnega besedila in spletnih pisav | Splošno stiskanje datotek v sistemu Unix | Baza podatkov v realnem času in zajem podatkov | Temeljni algoritem za stiskanje |
Pogosti načini okvar in vodič za heksadecimalno obnovo
Brskalnik ne naloži vira in vrne napako 'ERR_CONTENT_DECODING_FAILED'.
Glavni vzrok: Posrednik (proxy) ali strežnik je prekinil prenos pretoka Brotli pred prenosom končnega metabloka.
Sanacija: Počistite predpomnilnik brskalnika, preverite nastavitve stiskanja na strežniku ali lokalno odstranite stiskanje prek File2File.
Varnostna analiza in napadalni vektorji razčlenjevalnika
Statični slovar in modeliranje konteksta v algoritmu Brotli zahtevata strogo preverjanje pomnilniških meja proti nepravilnim povratnim sklicem.
Znani vektorji napada
- Branje kazalca izven meja pomnilnika pri sklicevanju na zamike statičnega slovarja, ki presegajo velikost tabele.
- Bomba za odvijanje stiskanja (ekvivalent zip bombe), ki izčrpa pomnilnik odjemalca z majhnimi koristnimi vsebina.
- Prekoračitev medpomnilnika (buffer overflow) med spreminjanjem velikosti drsečega okna v obročnem medpomnilniku.
Obrambne najboljše prakse:
Zgodovinski izvor in mejniki
Ključne prednosti
- 15 % do 25 % boljše razmerje stiskanja kot Gzip pri spletnih gradnikih HTML, CSS in JavaScript.
- Vsebuje vnaprej določen statični slovar velikosti 120 KB s pogostimi spletnimi besedami, značkami HTML in frazami.
- Izjemno hitro odvijanje stiskanja, ki zagotavlja skoraj takojšnje upodabljanje strani na strani odjemalca.
Tehnične omejitve in slabosti
- Stiskanje na ravni 11 je računsko zahtevno (najbolj primerno za vnaprejšnje stiskanje statičnih virov).
- Zahteva protokol HTTPS v vseh spletnih brskalnikih za preprečevanje poškodb podatkov s strani preglednih posrednikov (proxyjev).
- Surove datoteke .br nimajo vgrajenih glav z imeni datotek ali dovoljenji brez zunanjega kontejnerja.
Zanimive tehnične malenkosti
- Brotli je poimenovan po besedi 'Brötli', kar v švicarski nemščini pomeni 'majhen kruhek'.
- Statični slovar velikosti 120 KB znotraj algoritma Brotli vsebuje tisoče pogostih angleških, španskih, nemških, kitajskih in HTML izrezkov.
- Več kot 95 % sodobnega internetnega prometa prek omrežij Cloudflare, Fastly in Google se prenaša z uporabo stiskanja Brotli.
Pogosta tehnična vprašanja
Zakaj je Brotli za spletna mesta hitrejši od Gzipa?
Brotli stisne datoteke HTML, CSS in JS za 20 % manjše kot Gzip, medtem ko jih dekompresira s podobnimi hitrostmi, kar zmanjšuje število potrebnih prenosov prek mobilnih omrežij.
Zakaj Brotli zahteva povezavo HTTPS?
Spletni brskalniki podpirajo format Brotli samo prek varnih povezav HTTPS, ker bi starejši prosojni posredni strežniki v internetu napačno razlagali ali poškodovali novo kodiranje 'br'.
Kako lahko dekompresiram datoteko .br?
Datoteke .br ali .brotli lahko takoj dekompresirate v navadno besedilo ali izvirne datoteke z uporabo aplikacije File2File.app neposredno v spletnem brskalniku.