Brotli tok (.br)

IETF Standard

Brotli je algoritam otvorenog koda za kompresiju podataka bez gubitaka koji je razvio Google, posebno optimizovan za veb-fontove (WOFF2) i kodiranje HTTP sadržaja (Content-Encoding: br) radi bržeg učitavanja internet stranica.

Konvertujte BROTLI u GZIP

Besplatan konvertor BROTLI u GZIP u pregledaču. Konvertujte datoteke odmah na svom uređaju.

Pregled i metapodaci

Operativni sistemi i analizatori datoteka identifikuju Brotli datoteke proverom početnog binarnog niza bajtova:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

Potpis zaglavlja na nivou bajtova (magični bajtovi)

Operativni sistemi i analizatori datoteka identifikuju Brotli datoteke proverom početnog binarnog niza bajtova:

HEKSADECIMALNI POTPIS (OFFSET 0):

CE B2 CF 81

ASCII REPREZENTACIJA: βÏ\x81

Standardizacija: IETF RFC 7932

Tehničke specifikacije

Arhitektura kontejneraUokviravanje sirovog bitskog toka sa opcionom deklaracijom veličine prozora i metablokovima
KompresijaLZ77 klizni rečnik (do 16 MB), modeliranje konteksta drugog reda i statički rečnik od 120 KB
Bajtni redosled (Endianness)Pakovanje bitova po principu od najmanje značajnog ka najznačajnijem
Prostori bojaNije primenljivo (tok za kompresiju podataka)
Kanali i strukturaKompresija tokova bajtova opšte namene
Maksimalne dimenzijeProizvoljna dužina toka bajtova (podržava neograničeni prenos podataka u toku)
TransparentnostOčuvanje podataka bez gubitaka, uz potpuno podudaranje bajt po bajt nakon povratne konverzije
Strimovanje i progresivno učitavanjeDeljenje na metablokove omogućava neprekidan prenos u HTTP segmentima

Tehnička matrica poređenja: Brotli u odnosu na konkurente

Tehnički atributBrotli (Trenutno)GZZSTDDEFLATE
Ugrađeni statički rečnikUključen veb rečnik od 120 KBNema (samo dinamički)Rečnici koje korisnik može da obučavaNema (samo dinamički)
Veb kompresija (u odnosu na Gzip)15% - 25% manja veličina nego kod Gzip-aOsnovni standard (Gzip)10% - 20% manja veličina nego kod Gzip-aOsnovni Deflate
HTTP kodiranje sadržaja'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
Primarni cilj dizajnaPrenos veb teksta i veb fontovaOpšta kompresija Unix datotekaObrada baze podataka u realnom vremenu i unos podatakaTemeljni algoritam kompresije

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Pretraživač ne uspeva da učita resurs uz poruku 'ERR_CONTENT_DECODING_FAILED'.

Osnovni uzrok: Proksi ili server je skratio Brotli tok pre nego što je prenesen konačni meta-blok.

Oporavak: Obrišite keš memoriju pregledača, proverite podešavanja kompresije na serveru ili lokalno dekompresujte pomoću File2File.app.

Bezbednosna analiza i vektori napada parsera

Statički rečnik algoritma Brotli i modeliranje konteksta zahtevaju stroge provere granica memorije kako bi se otkrile neispravne povratne reference.

Poznati vektori napada

  • Čitanje van granica pri pristupu pomerajima statičkog rečnika koji su izvan veličine tabele.
  • Dekompresiona bomba (ekvivalent zip bombe) koja malim ulaznim podacima iscrpljuje memoriju klijenta.
  • Prekoračenje bafera tokom promene veličine prstenastog bafera klizećeg prozora.

Najbolje prakse za zaštitu: Ograničite maksimalnu veličinu izlaznog bafera tokom dekompresije nepouzdanih Brotli tokova.

Istorijat i prekretnice

2016IETF objavljuje Brotli kao RFC 7932.
2015Google prilagođava Brotli za opštu HTTP kompresiju na vebu kao alternativu Gzip-u.
2013Google-ovi inženjeri Jyrki Alakuijala i Zoltán Szabadka predstavljaju Brotli za kompresiju veb-fontova u formatu WOFF2.

Ključne prednosti

  • Odnos kompresije je 15% do 25% bolji nego kod Gzip-a za HTML, CSS i JavaScript veb-resurse.
  • Uključuje unapred definisan statički rečnik od 120 KB sa uobičajenim veb-rečima, HTML oznakama i frazama.
  • Izuzetno velika brzina dekompresije, koja obezbeđuje skoro trenutno renderovanje stranice na strani klijenta.

Tehnička ograničenja i nedostaci

  • Kompresija na nivou 11 je računski zahtevna (najpogodnija za prethodnu kompresiju statičkih resursa).
  • Zahteva HTTPS u svim veb-pregledačima kako bi se sprečilo oštećenje podataka usled rada transparentnih proksi servera.
  • Sirove .br datoteke nemaju ugrađene naziv datoteke niti zaglavlja sa dozvolama ako se ne smeste u spoljni kontejner.

Zanimljivosti

  • Brotli je dobio ime po 'Brötli', što na švajcarskom nemačkom znači 'hlebčić' (mali hleb).
  • Statički rečnik od 120 KB u Brotli-ju sadrži hiljade uobičajenih nizova teksta na engleskom, španskom, nemačkom i kineskom, kao i HTML isečke.
  • Brotli podržavaju glavni veb-serveri i pregledači, ali njegov udeo u saobraćaju zavisi od usluge i vrste odgovora.

Često postavljana tehnička pitanja

Zašto je Brotli brži od Gzip-a za veb-sajtove?

Brotli u nekim slučajevima može da stvori manje tekstualne datoteke za veb nego Gzip, ali razlika zavisi od sadržaja, podešavanja kompresije i implementacije.

Zašto Brotli zahteva HTTPS?

Veb-pregledači podržavaju Brotli samo preko bezbednih HTTPS veza jer bi stari transparentni proksiji na internetu pogrešno protumačili ili oštetili novo kodiranje 'br'.

Kako mogu da dekompresujem .br datoteku?

Možete trenutno dekompresovati .br ili .brotli datoteke u običan tekst ili originalne datoteke pomoću aplikacije File2File.app direktno u svom veb-pregledaču.