Brotli-strøm (.br)
IETF StandardBrotli 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:
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 81ASCII-REPRÆSENTATION: βÏ\x81
Standardisering: IETF RFC 7932
Tekniske specifikationer
| Containerarkitektur | Rå bitstrømframing med valgfri angivelse af vinduesstørrelse og metablokke |
| Komprimering | LZ77-glidende ordbog (op til 16 MB), andenordens kontekstmodellering og statisk ordbog på 120 KB |
| Byte-rækkefølge | Little-Endian-bitpakning |
| Farverum | Ikke relevant (datakomprimeringsstrøm) |
| Kanaler og struktur | Komprimering af bytestrømme til generelle formål |
| Maks. dimensioner | Vilkårlig længde på bytestrømmen (understøtter streaming uden øvre grænse) |
| Gennemsigtighed | Tabsfri, bit-for-bit nøjagtig bevaring af data ved rundtur |
| Streaming og progressiv | Opdeling i metablokke muliggør kontinuerlig HTTP-chunked-overførsel |
Teknisk sammenligningsmatrix: Brotli sammenlignet med konkurrenterne
| Teknisk attribut | Brotli (Aktuel) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| Indbygget statisk ordbog | 120 KB webordbog inkluderet | Ingen (kun dynamisk) | Brugertrænede ordbøger | Ingen (kun dynamisk) |
| Webkomprimering (sammenlignet med Gzip) | 15 % til 25 % mindre end med Gzip | Grundlæggende standard (Gzip) | 10 % til 20 % mindre end med Gzip | Grundlæggende Deflate |
| HTTP Content-Encoding | 'Content-Encoding: br' | 'Content-Encoding: gzip' | 'Content-Encoding: zstd' | 'Content-Encoding: deflate' |
| Primært designmål | Overførsel af webtekst og webskrifttyper | Generel Unix-filkomprimering | Database i realtid og dataindtag | Grundlæ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
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.