Mehr Performance durch Brotli-Kompression auf all-inkl.com

TLDR: Machen.

Jeder Webentwickler weiß: Je kleiner die Datenmenge umso besser. Logisch, denn umso kleiner die Datenmenge die von A nach B geht, umso schneller wird die Website aufgebaut und dargestellt. That’s where compressing comes into place. Seit jeher benutze ich, wie vermutlich die meisten auch, das Text-Komprimierungsverfahren gzip.

Dadurch werden Textdateien, wie z.B. PHP, CSS, HTML, HTM, XML, SVG und JS komprimiert und minifiziert. So können bis zu 55% der Datengröße verkleinert werden. Das ist mittlerweile guter Standard und hat über viele Jahre treue Dienste geleistet und wird es vermutlich auch noch weiter tun.

Brotli GitHub Page

Was ist denn jetzt Brotli?

Brotli ist neu und verspricht eine noch bessere Komprimierung als gzip. Angeblich ist mit Brotli eine Verbesserung in der Kompression von bis zu 20 Prozent möglich. Das klingt doch erstmal vielversprechend denn: Je mehr Komprimierung umso besser. Theoretisch. Bei Pixelbilderformaten wie z.B. JPG oder PNG ist maximale Komprimierung eher schlecht, da hier die verlorenen Informationen direkt als „Pixelig“ auffallen. Aber wir reden hier ja von Textdateien…

Brotli auf all-inkl Hosting?

Ja, funktioniert. Ist sogar standardmäßig bei allen neueren Hostingpaketen per default aktiviert. Es werden folgende Formate komprimiert:

text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json application/x-font-ttf application/vnd

Das sieht soweit erstmal gut aus. Mir persönlich fehlt da jedoch noch der SVG-Dateityp. Mittlerweile arbeite ich viel mit SVG und dieses ist, anders als bei JPG/PNG kein Pixeldateityp sondern letztendlich XML. Und XML ist wiederum ein Textformat, was man wunderbar komprimieren kann.

Ich habe hier kurzerhand eine eigene Rule für die .htaccess geschrieben, weil ich ungerne mit den MIME-Types arbeite sondern viel lieber mit Dateiendungen. Voilà:

<FilesMatch "\\.(js|css|html|htm|php|xml|svg|json|txt|csv)$">
SetOutputFilter BROTLI_COMPRESS
</FilesMatch>

Hat es was gebracht?

Vor dem Umstieg habe ich 1.8MB auf der Startseite geladen (was irgendwie sehr viel ist, da muss ich nochmal ran), jetzt sind es 1.6MB — also eine Einsparung von 12%. Viel Spaß beim ausprobieren und selber testen.

Brotli ist aktiv, das kannst du an dem Kürzel “br” erkennen.
Brotli ist aktiv, das kannst du an dem Kürzel “br” erkennen.