Brotli-stroom (.br)

IETF Standaard

Brotli is een open-source algoritme voor verliesvrije gegevenscompressie ontwikkeld door Google, specifiek geoptimaliseerd voor webtypografie (WOFF2) en HTTP-inhoudscodering (Content-Encoding: br) om het laden van webpagina's te versnellen.

BROTLI naar GZIP converteren

Gratis BROTLI-naar-GZIP-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen Brotli-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen Brotli-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

CE B2 CF 81

ASCII-WEERGAVE: βÏ\x81

Standaardisatie: IETF RFC 7932

Technische specificaties

ContainerarchitectuurOnbewerkte bitstream-framing met optionele opgave van de venstergrootte en metablokken
CompressieLZ77 met schuivend woordenboek (tot 16 MB), contextmodellering van de tweede orde en een statisch woordenboek van 120 KB
Bytevolgorde (endianness)Little-Endian bit-packing
KleurruimtenN.v.t. (gegevenscompressiestroom)
Kanalen en structuurByte-streamcompressie voor algemeen gebruik
Maximale afmetingenWillekeurige byte-streamlengte (ondersteunt onbegrensde streaming)
TransparantieVerliesvrij: gegevens blijven na compressie en decompressie byte voor byte exact behouden
Streaming en progressiefMetablok-chunking maakt continue HTTP chunked transfer streaming mogelijk

Technische vergelijkingsmatrix: Brotli versus concurrenten

Technisch kenmerkBrotli (Huidig)GZZSTDDEFLATE
Ingebouwd statisch woordenboek120 KB webwoordenboek inbegrepenGeen (alleen dynamisch)Door gebruikers trainbare woordenboekenGeen (alleen dynamisch)
Webcompressie (vs Gzip)15% - 25% kleiner dan GzipBasisstandaard (Gzip)10% - 20% kleiner dan GzipBasis Deflate
HTTP Content-Encoding'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
Primair ontwerpdoelOverdracht van webtekst en weblettertypenAlgemene Unix-bestandscompressieRealtime database en gegevensinnameFundamenteel compressie-algoritme

Veelvoorkomende beschadigingen en gids voor hex-herstel

De browser kan de resource niet laden en meldt 'ERR_CONTENT_DECODING_FAILED'.

Oorzaak: Proxy of server heeft de Brotli-stroom afgebroken voordat het uiteindelijke metablok werd verzonden.

Herstel: Leeg uw browsercache, controleer de serverinstellingen voor compressie of decomprimeer lokaal via File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

Het statische woordenboek en de contextmodellering van Brotli vereisen strikte controles op geheugengrenzen tegen misvormde achterwaartse verwijzingen.

Bekende aanvalsvectoren

  • Out-of-bounds-leesbewerking via een pointer bij verwijzingen naar offsets in het statische woordenboek buiten de tabelgrootte.
  • Decompressiebom (equivalent van een zip bomb) die het geheugen van de client uitput door kleine payloads.
  • Bufferoverflow tijdens het wijzigen van de grootte van de ringbuffer met glijdend venster.

Aanbevolen beveiligingspraktijken: Stel een maximale uitvoerbuffergrootte in bij het decomprimeren van niet-vertrouwde Brotli-stromen.

Historische oorsprong en mijlpalen

2016IETF publiceert Brotli als RFC 7932, wat helpt om het te vestigen als een veelgebruikte HTTP-inhoudscodering.
2015Google zet Brotli ook in als alternatief voor Gzip voor algemene HTTP-webcompressie.
2013Google-ingenieurs Jyrki Alakuijala en Zoltán Szabadka introduceren Brotli voor de compressie van WOFF2-weblettertypen.

Belangrijkste voordelen

  • Een 15% tot 25% betere compressieverhouding dan Gzip voor HTML-, CSS- en JavaScript-bestanden voor het web.
  • Bevat een vooraf gedefinieerd statisch woordenboek van 120 KB met veelvoorkomende webwoorden, HTML-tags en zinnen.
  • Uiterst snelle decompressie zorgt ervoor dat pagina's vrijwel direct in de browser worden weergegeven.

Technische beperkingen

  • Compressie op niveau 11 is rekenintensief (het meest geschikt voor vooraf comprimeren van statische assets).
  • Vereist HTTPS in alle webbrowsers om corruptie door transparante proxy's te voorkomen.
  • Ruwe .br-bestanden bevatten zonder externe container geen ingesloten bestandsnaam of rechtenheaders.

Interessante technische weetjes

  • Brotli is vernoemd naar 'Brötli', wat 'klein brood' betekent in het Zwitserduits.
  • Het statische woordenboek van 120 KB in Brotli bevat duizenden veelvoorkomende Engelse, Spaanse, Duitse, Chinese en HTML-fragmenten.
  • Brotli wordt ondersteund door grote webservers en browsers, maar het verkeersaandeel varieert per service en responstype.

Veelgestelde technische vragen

Waarom is Brotli sneller dan Gzip voor websites?

Brotli kan in sommige gevallen kleinere webtekstbestanden produceren dan Gzip, maar het verschil hangt af van de inhoud, de compressie-instellingen en de implementatie.

Waarom vereist Brotli HTTPS?

Webbrowsers ondersteunen Brotli alleen via beveiligde HTTPS-verbindingen, omdat oudere transparante proxy's op internet de nieuwe 'br'-codering verkeerd zouden interpreteren of beschadigen.

Hoe kan ik een .br-bestand decomprimeren?

U kunt .br- of .brotli-bestanden met File2File.app direct in uw webbrowser decomprimeren tot platte tekst of de oorspronkelijke bestanden.