Bestellen
Hosting
Domeinnaam
Ondersteuning
Ontdek
Terug naar begrippenlijst

Brotli

Brotli is een compressie-algoritme ontwikkeld door Google dat webinhoud effectiever comprimeert dan gzip.

Brotli
Brotli is een compressie-algoritme dat in 2015 door Google werd ontwikkeld. Het algoritme werd gecreëerd door Jyrki Alakuijala en Zoltán Szabadka met als doel betere compressie te bieden dan gzip. Brotli comprimeert bestanden tot wel 20-26% kleiner dan gzip bij vergelijkbare snelheden.

Het algoritme gebruikt een combinatie van de LZ77-compressiemethode en Huffman-codering. Wat Brotli uniek maakt is het gebruik van een vooraf gedefinieerd woordenboek van ruim 120 KiB. Dit woordenboek bevat meer dan 13.000 veelgebruikte woorden en zinsdelen in zes talen. Hierdoor kan Brotli webinhoud zoals HTML, CSS en JavaScript efficiënter comprimeren.

Voor HTTP-compressie gebruikt Brotli de content-encoding type "br". Alle moderne browsers ondersteunen Brotli sinds 2017. De browser stuurt een Accept-Encoding header met het verzoek. De webserver kiest dan voor Brotli als de browser dit ondersteunt. Anders valt het terug op gzip.

Brotli biedt 11 compressieniveaus in plaats van 9 bij gzip. Op middenniveaus (4-5) presteert Brotli beter dan gzip zonder meer rekenkracht te vergen. Voor statische content is Brotli de beste keuze. Voor dynamische content blijft gzip vaak sneller. Bij KeurigOnline gebruiken we Brotli voor optimale laadtijden van websites.

Geschiedenis

Brotli werd in 2013 ontwikkeld door Jyrki Alakuijala en Zoltán Szabadka, software-engineers bij Google. Oorspronkelijk was het algoritme bedoeld voor WOFF-weblettertypen. De naam "Brotli" komt van het Zwitserse brood "Brötli".

In september 2015 werd Brotli gegeneraliseerd voor HTTP-streamcompressie. Deze versie bevatte belangrijke verbeteringen zoals het vooraf gedefinieerde woordenboek. Dit zorgde voor een aanzienlijk betere compressieratio voor webinhoud.

Belangrijke mijlpalen:

  • 2013: Eerste ontwikkeling voor WOFF-compressie
  • September 2015: Generalisatie voor HTTP-compressie met woordenboek
  • Juli 2016: RFC 7932 goedgekeurd door IETF
  • Mei 2016: Ondersteuning in Chrome 50
  • 2017: Ondersteuning in alle moderne browsers
  • 2024: Brotli wordt vaker gebruikt dan gzip voor JavaScript en CSS

Het Brotli-project op GitHub is open source en wordt actief onderhouden door Google en de open source-community.

Bronnen

Online bronnen:

  1. IETF (2016) - RFC 7932: Brotli Compressed Data Format
  2. Google Research - Brotli: A General-Purpose Data Compressor
  3. MDN Web Docs - Brotli compression - Glossary
  4. GitHub - google/brotli: Brotli compression format
  5. Wikipedia - Brotli - Wikipedia
  6. DebugBear - Brotli vs. GZIP: Improve Page Speed With HTTP Compression

Boeken:

  1. Gourley, D. & Totty, B. (2002) - HTTP: The Definitive Guide. O'Reilly Media. ISBN: 978-1565925090