Brotli pretok (.brotli)

IETF Standard

Brotli 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:

Izberite ali povlecite datoteke sem

100-odstotno zasebna pretvorba v brskalniku - datoteke nikoli ne zapustijo vaše naprave

ali prilepi Ctrl+V
Jamstvo o zasebnosti brez prenosa podatkov v omrežje: 0 bajtov naloženih na zunanje strežnike. Vsa obdelava je potekala lokalno v varnem območju vašega brskalnika.

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 81

REPREZENTACIJA ASCII: βÏ\x81

Standardizacija: IETF RFC 7932

Tehnične specifikacije

Arhitektura vsebnikaRaw bitstream framing with optional window size declaration and meta-blocks
StiskanjeLZ77 sliding dictionary (up to 16 MB), second-order context modeling, and static 120 KB dictionary
Vrstni red bajtovLittle-Endian bit-packing
Barvni prostoriN/A (Data Compression Stream)
Kanali in strukturaGeneral-purpose byte stream compression
Največje dimenzijeArbitrary byte stream length (supports unbounded streaming)
ProsojnostLossless byte-for-byte exact roundtrip data preservation
Pretočno in progresivno predvajanjeMeta-block chunking allows continuous HTTP chunked transfer streaming

Tehnična primerjalna matrika: Brotli proti konkurenci

Tehnični atributBrotli (Trenutno)GZZSTDDEFLATE
Vgrajen statični slovarVključen spletni slovar velikosti 120 KBBrez (samo dinamični)Uporabniško nastavljivi slovarjiBrez (samo dinamični)
Spletno stiskanje (v primerjavi z Gzip)15 % - 25 % manjše kot pri GzipOsnovni standard (Gzip)10 % - 20 % manjše kot pri GzipOsnovni Deflate
Kodiranje vsebine HTTP'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
Glavni cilj načrtovanjaPrenos spletnega besedila in spletnih pisavSplošno stiskanje datotek v sistemu UnixBaza podatkov v realnem času in zajem podatkovTemeljni 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

2016IETF objavi Brotli kot standard RFC 7932, kar vodi v vsesplošno podporo v spletnih brskalnikih.
2015Google preusmeri namen algoritma Brotli v splošno uporabo za stiskanje spletnih vsebin HTTP kot alternativo za Gzip.
2013Google inženirja Jyrki Alakuijala in Zoltán Szabadka predstavita Brotli za stiskanje spletnih pisav WOFF2.

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.