Gzip vs Brotli: Kompressionsverfahren im Vergleich
Aufgrund der zunehmenden Datenmenge, die über Netzwerke wie das Internet übertragen wird, spielen Kompressionsverfahren eine immer größere Rolle. Ziel jeder Komprimierung ist es, die Dateigrößen in ihrem Umfang zu reduzieren, was positive Auswirkungen den Transfer und die Archivierung der Dateien hat. Gzip und Brotli sind zwei Kompressionsverfahren, die zwar dasselbe Ziel verfolgen, aber im Detail unterschiedlich arbeiten. Im folgenden Beitrag zeigen wir die Grundprinzipien beider Systeme und wie sie optimal eingesetzt werden können.
Wie funktioniert die Datenkomprimierung?
Bei der Datenkompression wird die Menge digitaler Daten reduziert oder auch verdichtet. Um dies zu erreichen, entfernen entsprechende Algorithmen redundante Informationen aus den Originaldateien. Um die Daten jedoch vollständig wieder herstellen zu können, werden Informationen in eine Darstellungsform überführt, die deutlich kürzer ist, als die ursprüngliche Version.
Sowohl Brotli als auch Gzip nutzen dafür die Wörterbuchmethode, bei der bestimmte Schlüsselwörter durch Tokens ersetzt werden. Der folgende Beispieltext veranschaulicht das Prinzip dieser Art der Komprimierung.
Ein Ausgangstext wie
display: Bild1; display: Bild2
kann auf den Text
F1: Bild1; F1: Bild2
komprimiert werden.
Die Anweisung display ist dem Token F1 zugeordnet. Dieses Token ist im Wörterbuch hinterlegt und substituiert display im gesamten Quelltext.
Der Vorteil besteht darin, dass die Zeichenkette deutlich verkürzt wurde und somit weniger Ressourcen für die Archivierung oder Übertragung der Datei benötigt wird.
Um den originalen Datensatz wiederherzustellen, muss die Datei dekomprimiert werden. Dafür benötigt der Client den entsprechenden Algorithmus ("das Wörterbuch"), um die Tokens wieder durch die originalen Zeichenketten zu ersetzen.
Die Bedeutung der Datenkompression
Durch verlustfreie Komprimierung kann die Dateigröße reduziert werden, ohne die Datenqualität zu beeinträchtigen. Sowohl Brotli als auch Gzip sind Verfahren, welche Dateien ohne Verluste verdichten.
In der Praxis sind Kompressionsalgorithmen für die Anwendungsgebiete der
- Datenarchivierung und
- der Datenübertragung
von besonderer Bedeutung.
Datenarchivierung
Wenn es darum geht, große Datensätze zu speichern, können durch die Komprimierung erhebliche Einsparungen von Ressourcen erzielt werden. Komprimierte Dateien benötigen einen geringeren Speicherplatz auf der Hardware, wodurch diese effektiver und kostengünstiger genutzt werden kann.
Gerade für die Erstellung und Speicherung von Backups sind Kompressionsalgorithmen wie Gzip oder Brotli von großem Nutzen.
Datenübertragung
Durch Kompression von Dateien kann ein höherer Datendurchsatz während der Übertragung erzielt werden.
Bevor Daten zwischen einem Webserver und einem (FTP-)Client oder Webbrowser ausgetauscht werden können, müssen beide Systeme das verwendete Kompressionsverfahren abstimmen.
Beim Besuch einer Webseite geschieht dies wie folgt. Der Browser teilt dem Server mit, welche Verfahren er kennt. Der Server antwortet mit dem bestmöglichen Verfahren und sendet die komprimierten Daten. Durch Dekomprimierung macht der Browser sie für den Webseitenbesucher nutzbar.
Für den Nutzer ist der Vorteil der Komprimierung in einer deutlich besseren Performance und in kürzeren Ladezeiten des Webangebots wahrnehmbar. Kombiniert mit Lazy-Loading und einem schnellen Server können Webmaster durch die Datenkompression Internetnutzern den Besuch ihrer Website deutlich angenehmer machen.
Arbeitsweise von Gzip
Gzip ist eines der ältesten Kompressionsprogramme. Es wurde im Jahr 1992 von Jean-Loup Gailly entwickelt. Gaillys Ziel war es, das unter Unix verwendete compress zu ersetzen. Heute ist Gzip unter der GLP-Lizenz quelloffen und frei für alle gängigen Betriebssysteme verfügbar. Es verwendet den freien Deflate-Algorithmus und ist damit an keine Patentrechte gebunden. Deshalb kann es als Freeware angeboten werden und steht Nutzern kostenfrei zur Verfügung.
Gzip arbeitet nach der Wörterbuchmethode. Dafür sucht das Programm nach identischen Teilen in einer Datei und fügt diese mittels eines entsprechenden Wörterbucheintrags zusammen. In einer Fenstergröße von 32 KiB sucht das Programm nach einer identischen Abfolge von Bytes. Wenn sich eine Abfolge in den vorherigen 32 KiB nicht wiederholt, wird diese von der Komprimierung ausgeschlossen. Sie bleibt also unkomprimiert.
Die Wörterbucheinträge legt Gzip für jede Datei gesondert an, was etwas zeitaufwändiger ist als das Verfahren von Brotli. Dennoch arbeitet Gzip sehr effektiv und kann je nach Datei einen hohen Kompressionsgrad erreichen.
Das Programm erstellt die komprimierte Datei im Format .gz oder .z.
Arbeitsweise von Brotli
Der Name Brotli ist für eine Software etwas ungewöhnlich und stammt von einem Schweizer Gebäck. Das System wurde von Zoltán Szabadka und Jyrki Alakuijala entwickelt. Beide waren zum Zeitpunkt der Entwicklung Google-Mitarbeiter.
Auch Brotli arbeitet mit der Wörterbuchmethode, allerdings unterscheidet sich das Prinzip im Vergleich zu Gzip im Detail.
Zur Komprimierung von Dateien legt Brotli kaum neue Einträge an. Vielmehr nutzt es ein 120 KiB großes Wörterbuch mit über 13.000 vordefinierten Ausdrücken. Dabei handelt es sich um die häufigsten Zeichenketten, die in Text- oder HTML-Dokumenten vorkommen. Somit können alle Datensätze, die Brotli bereits bekannt sind, viel schneller komprimiert werden. Nur für die unbekannten Ausdrücke müssen separate Einträge angelegt werden. Dies führt zu einer deutlich verbesserten Komprimierung, insbesondere bei kleinen Dateien.
Im Vergleich zum Algorithmus Deflate, welcher von Gzip genutzt wird, kann Brotli eine um bis zu 20 % verbesserte Kompressionsrate erzielen.
Anwendungsgebiete
Grundsätzlich werden beide Systeme von den geläufigsten Webservern und Webbrowsern unterstützt. Zum Zwecke des Datentransfers sind also beide gleichermaßen geeignet, auch weil sie wohl statische als auch dynamische HTML-Seiten ausliefern können.
In den meisten Fällen wird Brotli aber einen höheren Grad der Komprimierung erzielen, weshalb es für viele Anwender die bessere Wahl ist.
Jetzt das perfekte Webhosting sichern
Zum Webhosting Vergleich
Unser Artikel stützt sich auf eigene Erfahrungen und Recherche sowie Informationen aus externen Quellen.
Quellenangaben & weiterführende Links zum Thema:
https://github.com/google/brotli (Brotli auf github.com)
https://www.gnu.org/software/gzip/ (offizielle Gzip Webseite)
Bildnachweis:
Gerd Altmann auf Pixabay
Schreibe einen Kommentar
- Performance
Tags zu diesem Artikel
Weitere Webhoster
Weitere interessante Artikel
Largest Contentful Paint erklärt: So lässt sich LCP messen und verbessern
Dieser Artikel bietet einen umfassenden Einblick in die Bedeutung von LCP und zeigt praktische Wege auf, wie diese Metri...
Servergeschwindigkeit - worauf kommt es an und wie lässt sie sich messen?
Warum ist die Geschwindigkeit eines Servers so wichtig, wie lässt sich die Servergeschwindigkeit messen und wie kann man...
Was ist der Varnish Cache und was sind die Vorteile?
Wir zeigen euch wie der Varnish Cache eure Website beschleunigen kann.
Was ist HTTP/2 und bringt es mehr Geschwindigkeit?
Dank des neuen HTTP/2 Verbindungsprotokolls können Webseiten zukünftig schneller geladen werden. Die meisten Internetbro...
Lazy Loading - Was steckt dahinter?
Die Ladezeiten einer Webseite sollten so gering wie möglich sein. Wie genau kann Lazy Loading dabei helfen?
Time To First Byte erklärt: So lässt sich TTFB messen und verbessern
Dieser Artikel bietet einen umfassenden Einblick in die Bedeutung von TTFB und zeigt praktische Wege auf, wie diese Metr...
Im Jahr 2006 riefen wir hosttest ins Leben, um den Webhosting Markt im DACH-Raum transparenter zu machen. Mit derzeit über 400 Webhostern und über 10.000 Angeboten bieten wir dir die beste Grundlage, den für dich passenden Anbieter für Hosting-Leistungen zu finden.
Seit 2015 küren wir zudem alljährlich unsere Webhoster des Jahres und würden uns in Zukunft auch über deine Stimme freuen.
Mehr über uns...