Waarom Google's compressie-algoritme "Brotli" een echt gzip-alternatief is

Tobias Schüring Laatst bijgewerkt op 05.11.2020
5 Min.
Laatst bijgewerkt op 05.11.2020

Wie wil er kleinere broodjes bakken? - Alle WordPress professionals die hun website zo snel mogelijk willen opleveren. Sinds enige tijd is een technologie genaamd Brotli erg populair. Hoe dit uw website sneller maakt en wat het met Zwitserland te maken heeft, leggen we uit in dit artikel.

Momenteel zijn er verschillende compressiemethoden. Voor een lange tijd heeft gzip was de standaard voor een lange tijd, maar nu is een nieuw compressie algoritme, genaamd Brotli, het aan het overtreffen. En niet zonder reden! Om ervoor te zorgen dat uw WordPress website qua compressie met zijn tijd meegaat, is Brotli de standaard geworden op RAIDBOXES. Maar laten we bij het begin beginnen.

De 1 x 1 van gegevenscompressie

Gegevenscompressie is een techniek waarbij de opslagruimte van gegevens zoveel mogelijk wordt beperkt. Want: Hoe kleiner het verbruikte volume, hoe korter de transmissietijd.

De verkleining wordt bereikt door de gegevens te condenseren of te verkleinen. In principe wordt de informatie omgezet in een kortere vorm die minder opslagruimte in beslag neemt.

Comprimeren en uitpakken zijn twee processen, maar het komt erop neer dat ze nog altijd sneller zijn dan het simpelweg overbrengen van grote hoeveelheden gegevens.

Google als broodbakker

De vorige compressiestandaard op het Internet was gzip. Deze compressie werkt met een algoritme genaamd Deflate, dat bestaat uit een combinatie van de LZ77-techniek en Huffman-codering. Deflate bestaat al sinds 1993 en is sindsdien de absolute standaard geworden voor HTTP-transmissies.

Maar dat was niet genoeg voor Google. In zijn eindeloze pogingen om het internet te verbeteren, ontwikkelde de reus uit Silicon Valley enkele jaren geleden het algoritme Zopfli (genoemd naar de Zwitserse gistvlecht). Zopfli gebruikt een techniek die vergelijkbaar is met Deflate en is ook compatibel met zijn gegevensformaat, maar heeft al enkele verbeteringen.

Dit was waarschijnlijk nog niet genoeg voor de technici bij Google, want intussen is er Brotli - genoemd naar Brötli, Zwitserse broodjes.

Brotli is een open-source algoritme dat volgens Google een volledig nieuw gegevensformaat vertegenwoordigt. De compatibiliteit met Deflate is nu voorbij, maar Brotli brengt nog enkele andere voordelen.

Gzip vs. Brotli: Wie maakt de race?

Hoe groot is de besparing van Brotli ten opzichte van het standaard gzip-proces? Rapporten laten een duidelijk voordeel zien:

  • Voor HTML bespaart Brotli 21% meer geheugen dan gzip.
  • Voor JavaScript is dat 14%.
  • CSS wordt 17% kleiner opgeslagen door Brotli dan door gzip.

In principe is het verschil in snelheid tussen de overdracht van gecomprimeerde en niet-gecomprimeerde gegevens al zeer groot. Gzip bespaart al heel wat opslagruimte in vergelijking met de oorspronkelijke situatie. Brotli gaat nog een stap verder - ook al lijken de cijfers niet op een enorme besparing vergeleken met gzip.

Brotli biedt voordelen speciaal voor mobiele pagina's

Vooral mobiele toestellen en datatarieven profiteren van compressie. Hier is de beschikbare bandbreedte vaak veel lager, zodat zelfs een besparing van 20 procent een aanzienlijk betere gebruikerservaring oplevert. Webservers en -apparaten mogen dan al behoorlijk snel zijn, het internet is dat niet altijd.

Aangezien steeds meer gebruikers onderweg websites bezoeken en dus profiteren van de kleinere omvang van de Brotli-bestanden (bijvoorbeeld door minder batterijverbruik en lagere transmissiekosten), hoopt Google dat het algoritme in de toekomst de nieuwe standaard zal worden.

Beperkingen bij het bakken van brood

Ondanks deze voordelen is Brotli geen manusje-van-alles. Waarschijnlijk ook omdat het algoritme nog vrij jong is (Google introduceerde het in september 2015), moet je nog een of twee beperkingen accepteren.

Nauwkeurige configuratie is belangrijk

Besparing op de bestandsgrootte is echter niet de enige maatstaf waaraan een compressiemethode moet worden afgemeten. U wilt immers de prestaties van uw website verbeteren. De snelheid waarmee informatie wordt gecomprimeerd en gedecomprimeerd is ook een belangrijk aspect. Omdat het afhangt van hoe snel de websitebezoeker de resultaten te zien krijgt.

Een verkeerde configuratie tussen geheugenbesparing en snelheid van conversie kan ertoe leiden dat gzip zelfs sneller is dan Brotli. Zowel gzip als Brotli hebben inderdaad meerdere kwaliteitsniveaus (gzip negen en Brotli elf).

Het is dus een kwestie van afstemmen wat u uit uw configuratie wilt halen. Uit de testresultaten blijkt dat Brotli op niveau 4 meer geheugen bespaart en zelfs iets sneller werkt dan gzip op niveau 6.

Brotli werkt alleen onder HTTPS

Brotli werkt alleen met HTTPS verbindingen. Maar eerlijk is eerlijk: sinds Google officieel heeft aangekondigd dat het gebruik van HTTPS een ranking signaal is, zou je toch heel snel naar SSL moeten overschakelen. Vooral omdat HTTP2 voor een extra prestatieverhoging zorgt. Dit is slechts één van de vele redenen waarom wij bij RAIDBOXES standaard gratis SSL met één klik aanbieden vanaf het allereerste begin.

Brotli is perfect voor statische inhoud

Een ander vaak besproken knelpunt is de compressie van dynamische inhoud. Een snelle opfrisser:

  • Dynamische inhoud wordt alleen individueel gegenereerd wanneer u een verzoek indient, bijvoorbeeld wanneer u alleen de items van bepaalde categorieën in een blog wilt weergeven of shirts van een bepaald merk in een bepaalde maat in een onlineshop wilt selecteren met behulp van de filterfunctie. Natuurlijk wordt de inhoud pas gecomprimeerd nadat hij is gegenereerd.
  • Statische inhoud daarentegen is al gecomprimeerd op de server en wordt op dezelfde manier aan alle gebruikers geleverd.

De kern van de zaak bij het comprimeren van dynamische inhoud: Zolang de server bezig is met het comprimeren van de inhoud, ziet de gebruiker niets. Pas wanneer de compressie voltooid is, worden de gegevens geleverd. En hoe beter de compressie zou moeten zijn, hoe langer het duurt. Zelfs bij lage compressiesnelheden kan dynamische compressie de prestaties al beperken. Statische inhoud daarentegen, die reeds gecomprimeerd is, kan in een mum van tijd worden afgeleverd wanneer een gebruiker erom vraagt.

In de praktijk is gebleken dat Brotli doeltreffender is voor statische inhoud als het algoritme dienovereenkomstig wordt geconfigureerd. Voor dynamische inhoud geven veel websitebeheerders echter nog steeds de voorkeur aan gzip. Anderen beweren dat Brotli ook gzip kan bijbenen voor dynamische inhoud.

Niet alle browsers ondersteunen Brotli

Wat de servers betreft, ondersteunen NGINX en Apache (vanaf versie 2.5) Brotli. Echter, nog niet alle browsers ondersteunen Brotli. U kunt op caniuse.com nagaan welke browsers Brotli als compressiestandaard ondersteunen.

Waarom Google's compressie-algoritme "Brotli" een echt gzip-alternatief is
Bron : https://caniuse.com/brotli

Gebruikers van Internet Explorer, bijvoorbeeld, moeten het momenteel nog zonder Brotli doen. Maar het goede nieuws is dat de inhoud nog steeds aan deze gebruikers zal worden geleverd: In dat geval wordt gzip automatisch geactiveerd. U hoeft dus niet bang te zijn dat uw bezoekers niets meer te zien krijgen.

Aangezien in ieder geval in Duitsland met Chrome en Firefox al meer dan 70 procent van de markt gedekt is, kunt u er sowieso van uitgaan dat een groot deel van uw websitebezoekers al van Brotli kan profiteren.

Conclusie

Opslagruimte besparen, websites sneller afleveren en de prestaties verbeteren: wij doen er graag aan mee. Naar mijn mening zijn de voordelen duidelijk. RAIDBOXES Klanten profiteren er vandaag al van: Brotli is standaard ingebouwd in de servers.

Als systeembeheerder waakt Tobias over onze infrastructuur en vindt hij alle mogelijke manieren om de prestaties van onze servers te optimaliseren. Door zijn onvermoeibare inzet is hij vaak 's nachts bij Slack te vinden.

Gerelateerde artikelen

Reacties op dit artikel

Laat een opmerking achter

Jouw e-mailadres zal niet worden gepubliceerd. Verplichte velden zijn met een * gemarkeerd.