Brotli-strøm (.br)

IETF Standard

Brotli er en tabsfri datakomprimeringsalgoritme med åben kildekode udviklet af Google, specifikt optimeret til webskrifttyper (WOFF2) og HTTP-indholdskodning (Content-Encoding: br) for at fremskynde levering af websteder.

Konverter BROTLI til GZIP

Gratis BROTLI til GZIP-konverter i browseren. Konverter filer med det samme på din enhed.

Undersøgelse og metadata

Operativsystemer og filanalysatorer identificerer Brotli-filer ved at inspicere den indledende binære bytesekvens:

Vælg eller træk filer hertil

Privat - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 byte overført til eksterne servere. Al behandling foregik lokalt i browserens sandkasse.

Byte-niveau Header-signatur (Magic Bytes)

Operativsystemer og filanalysatorer identificerer Brotli-filer ved at inspicere den indledende binære bytesekvens:

HEX-SIGNATUR (OFFSET 0):

CE B2 CF 81

ASCII-REPRÆSENTATION: βÏ\x81

Standardisering: IETF RFC 7932

Tekniske specifikationer

ContainerarkitekturRå bitstrømframing med valgfri angivelse af vinduesstørrelse og metablokke
KomprimeringLZ77-glidende ordbog (op til 16 MB), andenordens kontekstmodellering og statisk ordbog på 120 KB
Byte-rækkefølgeLittle-Endian-bitpakning
FarverumIkke relevant (datakomprimeringsstrøm)
Kanaler og strukturKomprimering af bytestrømme til generelle formål
Maks. dimensionerVilkårlig længde på bytestrømmen (understøtter streaming uden øvre grænse)
GennemsigtighedTabsfri, bit-for-bit nøjagtig bevaring af data ved rundtur
Streaming og progressivOpdeling i metablokke muliggør kontinuerlig HTTP-chunked-overførsel

Teknisk sammenligningsmatrix: Brotli sammenlignet med konkurrenterne

Teknisk attributBrotli (Aktuel)GZZSTDDEFLATE
Indbygget statisk ordbog120 KB webordbog inkluderetIngen (kun dynamisk)Brugertrænede ordbøgerIngen (kun dynamisk)
Webkomprimering (sammenlignet med Gzip)15 % til 25 % mindre end med GzipGrundlæggende standard (Gzip)10 % til 20 % mindre end med GzipGrundlæggende Deflate
HTTP Content-Encoding'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
Primært designmålOverførsel af webtekst og webskrifttyperGenerel Unix-filkomprimeringDatabase i realtid og dataindtagGrundlæggende komprimeringsalgoritme

Almindelige korruptionstilstande og hex-gendannelsesvejledning

Browseren kan ikke indlæse ressourcen med 'ERR_CONTENT_DECODING_FAILED'.

Grundlæggende årsag: Proxy eller server afbrød Brotli-strømmen, før den sidste metablok blev transmitteret.

Gendannelse: Ryd browserens cache, tjek serverens komprimeringsindstillinger, eller dekomprimer lokalt via File2File.app.

Sikkerhedsanalyse og parser-angrebsvektorer

Den statiske ordbog og kontekstmodelleringen i Brotli kræver grundig kontrol af hukommelsesgrænserne for at modstå fejlformede bagudreferencer.

Kendte angrebsvektorer

  • Læsning af en pointer uden for grænserne ved opslag på statiske ordbogsoffsets, der ligger uden for tabellen.
  • Dekomprimeringsbombe (svarende til en zip-bombe), der udtømmer klientens hukommelse med bittesmå datamængder.
  • Bufferoverløb under ændring af størrelsen på ringbufferen i det glidende vindue.

Defensive bedste praksisser: Håndhæv maksimale størrelser på outputbuffere under dekomprimering af ikke-troværdige Brotli-strømme.

Historisk oprindelse og milepæle

2016IETF udgiver Brotli som RFC 7932.
2015Google genbruger Brotli som et generelt HTTP-webkomprimeringsalternativ til Gzip.
2013Google-ingeniørerne Jyrki Alakuijala og Zoltán Szabadka introducerer Brotli til komprimering af WOFF2-webskrifttyper.

Vigtige fordele og styrker

  • 15 % til 25 % højere komprimeringsgrad end Gzip på HTML-, CSS- og JavaScript-webressourcer.
  • Inkorporerer en foruddefineret statisk ordbog på 120 KB med almindelige webord, HTML-tags og sætninger.
  • Ekstremt hurtig dekomprimeringshastighed, hvilket sikrer næsten øjeblikkelig gengivelse af sider på klientsiden.

Tekniske begrænsninger og ulemper

  • Komprimering på niveau 11 er beregningsmæssigt tung (bedst egnet til forudgående komprimering af statiske filer).
  • Kræver HTTPS i alle webbrowsere for at forhindre korruption via gennemsigtige proxyservere.
  • Rå .br-filer mangler indlejrede filnavne eller rettighedshoveder uden ekstern indkapsling.

Interessante tekniske fakta

  • Brotli er opkaldt efter 'Brötli', hvilket betyder 'lille brød' på schweizisk tysk.
  • Den statiske ordbog på 120 KB i Brotli indeholder tusindvis af almindelige tekststykker på engelsk, spansk, tysk og kinesisk samt HTML-uddrag.
  • Brotli understøttes af større webservere og browsere, men andelen af trafikken varierer efter tjeneste og svartype.

Ofte stillede tekniske spørgsmål

Hvorfor er Brotli hurtigere end Gzip til hjemmesider?

Brotli kan i visse tilfælde give mindre tekstfiler til nettet end Gzip, men forskellen afhænger af indholdet, komprimeringsindstillingerne og implementeringen.

Hvorfor kræver Brotli HTTPS?

Netbrowsere understøtter kun Brotli over sikre HTTPS-forbindelser, fordi ældre gennemsigtige proxyservere på internettet ellers ville fejlfortolke eller beskadige den nye 'br'-kodning.

Hvordan kan jeg dekomprimere en .br-fil?

Du kan øjeblikkeligt dekomprimere .br- eller .brotli-filer til almindelig tekst eller originale filer ved hjælp af File2File.app direkte i din netbrowser.