Der Unterschied zwischen Brotli- und Gzip-Komprimierungsalgorithmen zur Beschleunigung Ihrer Website

Suchen Sie nach kostenlosen Möglichkeiten, um Ihre Website schneller zu machen? Eine Möglichkeit, wie jeder Webseitenbetreiber ein wenig kostenlose Geschwindigkeit bekommen kann, besteht darin, die Komprimierung auf dem Server einzuschalten. Wenn sowohl der Webserver als auch der Browser, mit dem er kommuniziert, einen gemeinsamen Komprimierungsalgorithmus “verstehen”, können die Daten, die tatsächlich über das Kabel gesendet werden, komprimiert werden. Komprimierte Daten sind kleiner. Kleinere Daten werden schneller empfangen.

Was ist Kompression?

Wenn Sie eine URL in Ihren Browser eingeben, beginnt Ihr Browser eine Konversation mit dem Server und teilt ihm unter anderem mit, ob er Inhalte dekomprimieren kann und wenn ja, welche Komprimierungs-„Algorithmen“ er versteht.

Ihr Server wartet auf Befehle, und wenn Sie die Komprimierung aktiviert haben und er einen der Komprimierungsalgorithmen des Browsers kennt, komprimiert er alle Daten und sendet sie an den Browser.

Die meisten modernen Webbrowser verstehen oder „akzeptieren“ Inhalte, die in einem von den drei Algorithmen codiert sind:

  • Deflate
  • Gzip
  • Brotli

Wenn ein Webbrowser einen Server kontaktiert, sendet er einen Header, der wie folgt aussieht:

Accept-Encoding: br, gzip

Das sagt dem Server, dass er Daten versteht, die entweder in Brotli (br) oder Gzip (gzip) komprimiert sind. Server haben die Möglichkeit, dies zu ignorieren und auch unkomprimierte Daten zurückzugeben.

Insgesamt werden komprimierte Daten jedoch schneller übertragen als unkomprimierte Daten. Ihre Website gelangt also schneller zum Browser, wenn die Daten komprimiert werden. Der Browser kann also Ihre Website schneller laden, wenn die Daten komprimiert werden. 

Die Komprimierung gilt hauptsächlich für Text:

  • HTML
  • JavaScript
  • CSS

Diese machen heutzutage einen großen Teil moderner Websites aus und alle können durch serverseitige Komprimierungsalgorithmen komprimiert werden.

Andererseits sind die meisten Bildformate (jpg, png usw.), die meisten Audioformate (mp3s) und andere nicht im Textformat vorliegende Binärdateien bereits komprimiert. Eine Komprimierung von diesen Formaten wird jedoch keinen Unterschied ausmachen. Das heisst, dass die Server diese unabhängig vom Accept-Encoding-Header so senden wird, wie sie sind.

Wie oben erwähnt, akzeptieren die meisten modernen Webbrowser hauptsächlich 3 Komprimierungsalgorithmen. Die meisten Server sind jetzt auf einen oder auf beide der beliebtesten Algorithmen, Gzip und Brotli, migriert.

Was ist Gzip-Komprimierung?

Die zwei beliebtesten Komprimierungsalgorithmen sind Gzip und Brotli. Gzip ist das älteste und am weitesten verbreitete der beiden. Es wurde von Jean-loup Gailly und Mark Adler geschrieben. Die erste Beta-Version wurde 1992 veröffentlicht, gerade als das Internet für die meisten Menschen bereits zugänglich war. 

Gzip wurde als Allzweck-Komprimierungsbibliothek entwickelt. Die Theorien hinter Gzip basierten auf dem früheren Komprimierungsalgorithmus DEFLATE.

Aufgrund seiner Popularität – und der Tatsache, dass es Dateien sehr gut verkleinern kann – wird es auch heute noch häufig verwendet, sowohl in verschiedenen Betriebssystemen als auch als primärer Komprimierungsalgorithmus für Webserver.

Was ist Brotli-Komprimierung?

Brotli wurde 2013 von den Google-Mitarbeitern Jyrki Alakuijala und Zoltán Szabadka entwickelt. Google suchte ursprünglich nach einer besseren Möglichkeit, WOT-Dateien, bei denen es sich um Webfonts handelt, zu komprimieren.

Gzip war ursprünglich zum Komprimieren von Dateien gedacht und wurde an das Komprimieren von Streams angepasst, damit es im Web funktioniert. Brotli hingegen war von Anfang an darauf ausgelegt, Ströme zu komprimieren. Dies macht es zur besseren Option für die Webserver, um Inhalte zu komprimieren, bevor sie an einen Browser gestreamt werden.

2015 veröffentlichte Google die Brotli-Spezifikation für HTTP. Neben der Angabe, wie der Browser den Server darüber informieren soll, dass er Brotli durch einen gesendeten „Content-Encoding: br“-Header dekomprimieren kann, haben die Google-Ingenieure weitere Verbesserungen an Brotli vorgenommen, die das Komprimieren von Webinhalten noch schneller gemacht haben.

Was ist der Unterschied zwischen Brotli- und Gzip-Komprimierung?

Während beide ihren Ursprung im LZ77-Algorithmus haben, wurde Gzip speziell zum Komprimieren von Dateien entwickelt. Die Bibliothek wurde in viele verschiedene Programme integriert, die Dateien komprimieren müssen. Die Bibliothek wurde in Webserver integriert, als das Komprimieren von Inhalten zur Norm wurde. Es war einer von zwei Komprimierungsalgorithmen, die in RFC 2616, der HTTPS 1.1-Spezifikation, spezifiziert sind. Obwohl es nicht speziell für Streaming-Operationen wie Webserver entwickelt wurde, wurde es daran angepasst.

Brotli hingegen wurde speziell für das Web entwickelt. Google erkannte die Notwendigkeit einer Möglichkeit, Streams effizienter zu komprimieren, und entwarf Brotli.

Beide Algorithmen leisten gute Arbeit für den Zweck, für den sie entwickelt wurden. Gzip wird weiterhin im Web verwendet, weil es immer noch besser ist als gar nichts. Da Brotli jedoch immer beliebter wird, bevorzugen immer mehr Webserver Brotli gegenüber Gzip. Angesichts der Wahl der beiden ist Brotli der Standard, den viele Server verwenden werden. Es ist seit einiger Zeit die Standardauswahl auf allen SiteGround-Servern.

Weitere Informationen zu den Unterschieden zwischen Brotli und Gzip finden Sie im folgenden Video (in Englisch)!

Benchmarking von Brotli und Gzip

Als Brotli mit gzip verglichen wurde, wurde festgestellt, dass es Dateien besser komprimiert:

  • 14 % kleinere JavaScript-Dateien
  • 21 % kleinere HTML-Dateien
  • 17 % kleinere CSS-Dateien

Da Brotli darauf ausgelegt ist, Streams spontan zu komprimieren, ist es sowohl beim Komprimieren von Inhalten auf dem Server als auch beim Dekomprimieren im Browser schneller als in gzip. In einigen Fällen ist die gesamte Front-End-Dekomprimierung bis zu 64 % schneller als gzip.

Wie kann ich die Komprimierung auf meiner Website aktivieren?

Einfach ausgedrückt bedeutet „Komprimierung einschalten“, Ihrem Webserver zu sagen, dass er alles komprimieren soll, bevor er es an einen Browser sendet, der in der Lage ist, die gepackten Daten zu entpacken und darzustellen.

Wenn Sie ein Serveradministrator sind, wissen Sie, wie man Konfigurationsdateien bearbeitet. Wenn Sie kein Serveradministrator sind, überspringen Sie diesen Abschnitt und scrollen Sie direkt zum Abschnitt „Wenn ich kein Serveradministrator bin“ weiter unten.

Wenn ich Apache verwende

Wenn Sie den Apache-Webserver verwenden, müssen Sie die Brotli-Komprimierung in zwei Schritten aktivieren:

Aktivieren Sie zunächst das Apache Brotli-Modul. Es ist standardmäßig enthalten, aber möglicherweise nicht aktiviert:

$ sudo a2enmod brotli

Als nächstes müssen Sie die Konfigurationsdatei Ihres Webhosts bearbeiten und dem Server mitteilen, worauf Sie die Komprimierung anwenden möchten:

<IfModule mod_brotli.c>

            AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript

</WennModul>

Im obigen Beispiel sagen wir dem Webserver, Folgendes zu komprimieren:

  • HTML
  • Plain Text
  • CSS
  • JavaScript

Dies sind die Haupttypen von Dateien, die komprimiert werden können.

Wenn ich Nginx verwende

Nginx ist ein weiterer sehr beliebter Webserver. Ähnlich wie Apache wird es durch Konfigurationsdateien gesteuert. Sie müssen Ihre nginx.conf-Datei suchen und die folgenden zwei Zeilen hinzufügen:

load_module modules/ngx_http_brotli_filter_module.so;

load_module modules/ngx_http_brotli_static_module.so;

Dann müssen Sie in der individuellen conf-Datei Ihrer Website Folgendes hinzufügen:

brotli on;

brotli_static on;

brotli_types *;

Nachdem Sie die Änderungen am Apache oder Nginx vorgenommen haben, starten Sie Ihren Webserver neu. Jetzt wird er mit einem „Content-Encoding“-Header antworten, wenn der Browser einen „Accept-Encoding“-Header sendet.

Wenn Ich kein Serveradministrator bin

Wenn Sie kein Serveradministrator sind, ist es für Sie viel einfacher, die Komprimierung auf Ihrem Server zu aktivieren. Sie wählen einfach einen Host wie SiteGround aus, der ihn standardmäßig aktiviert. So einfach ist das.

Die meisten Top-Tier-Hosts wie SiteGround sind daran interessiert, Ihre Website so schnell wie möglich zu machen und so viel Bandbreite wie möglich zu sparen. Dies sind die beiden größten Vorteile der Aktivierung der Komprimierung. Daher aktivieren Top-Tier-Hosts standardmäßig die Komprimierung.

Wenn Sie kein SiteGround-Kunde sind, müssen Sie sicherstellen, dass Ihr Webhost die Komprimierung auf Ihrem Webserver aktiviert. Wenn sie es nicht tun und es nicht für Sie einschalten, ist es an der Zeit, einen neuen Host zu finden.

Wie kann ich die Brotli- und Gzip-Komprimierung testen?

Wie können Sie also feststellen, ob die Komprimierung für Ihre Website aktiviert ist? Es gibt ein paar Möglichkeiten dazu:.

Auf die harte tour

  • Öffnen Sie einen Browser. Ich werde in diesem Beispiel Chrome verwenden, aber das Konzept funktioniert mit jedem Browser. Die Namen der Optionen können sich jedoch bei den verschiedenen Browsern etwas unterscheiden.
  • Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Browser und wählen Sie „Untersuchen“.
  • Ein Fenster öffnet sich dann auf der rechten oder unteren Teil der Seite. Es hat mehrere Registerkarten mit Namen wie diesen:
  • Elements (Elemente)
  • Console (Konsole)
  • Sources (Quellen)
  • Network (Netzwerk)
  • Performance (Leistung)
  • Usw…
  • Finden Sie die Registerkarte „Netzwerk“.
  • Geben Sie oben im URL-Feld die URL Ihrer Website ein und drücken Sie die Eingabetaste. Dann werden für die Netzwerk-Registerkarte viele verschiedenen Datensätzen angezeigt. Scrollen Sie zurück zum allerersten Datensatz. Es sollte der Name Ihrer Domain sein.
  • Klicken Sie auf den ersten Datensatz.
  • Suchen Sie den Header „accept-encoding“. Es befindet sich im Abschnitt “Request Headers“. Dies sind die Header, die Ihr Browser an den Server sendet. Wenn Sie diesen Header nicht haben, versuchen Sie es mit einem anderen Browser, da der Server keine Daten komprimiert, wenn der Browser den Header nicht sendet.
  • Suchen Sie schließlich den Header „content-encoding“ im Abschnitt „Response Headers“. Dies sind die Header, die Ihr Server an den Browser gesendet hat, bevor er Ihre Website anzeigt hat. Dies teilt dem Browser mit, dass der Server Brotli als Komprimierung gewählt hat und dass er die eingehenden Content-Streams dekomprimieren sollte, bevor er sie anzeigt.

Ehrlich gesagt machen es die meisten Entwickler – mich eingeschlossen – so. Ja, für die technisch weniger versierten Anwendern geht das leider auf die harte Tour. Wenn Sie normalerweise nicht die Funktion “Untersuchen“ verwenden, um sich in die Konversation zwischen Ihrem Browser und dem Server einzuarbeiten, kann dies verwirrend sein. Sobald Sie jedoch verstanden haben, wonach und wo Sie suchen müssen, erfordert dieser Weg nur sehr wenig Aufwand und ist überall verfügbar.

Der einfache Weg

Dennoch gibt es Menschen, die sich damit nicht gut auskennen. Für diejenigen, die diesen Artikel lesen und in diese Kategorie fallen, zeige ich jetzt den einfachen Weg.

  • Geben Sie den Domainnamen Ihrer Website in das dafür vorgesehene Feld ein.
  • Klicken Sie auf den Button „Prüfen“.

Kein Scherz, das ist alles. Als ich meine Website überprüft habe, habe ich die folgenden Ergebnisse erhalten.

Das sagt mir nicht nur, dass mein Webserver in der Lage ist, meine Website in Brotli zu codieren, sondern auch, dass 80,66 % meiner Website verschlüsselt rübergekommen sind.

Zusammenfassung

Die Komprimierung auf Websites ist jetzt die Norm, da sie dazu beiträgt, dass Ihre Website schneller geladen wird.

Derzeit ist Brotli der beste verfügbare Komprimierungsalgorithmus für Websites. Wenn Ihr Hoster Brotli nicht anbietet, wechseln Sie zu einem Webhosting-Partner, der es aktiviert hat. Ein Hosting-Partner wie SiteGround! Mit Brotli können Sie +15-20 % kleinere Dateien erhalten, und kleinere Dateien bedeuten eine schneller ladende Website. Erfahren Sie mehr über die Implementierung von SiteGround in unserem Artikel Mehr Geschwindigkeit für Ihre Websites mit dem Brotli-Kompressionsalgorithmus. Sie können bei SeitGround auch alle anderen Geschwindigkeits-Booster nutzen, die Ihre Website zum Fliegen bringen können.

author avatar
Cal Evans

PHP-Evangelist

Einer der am meisten bewunderten Menschen in der PHP-Community, der sich seit mehr als 16 Jahren dem Aufbau der fantastischen PHP-Community und der Betreuung der nächsten Generation von Entwicklern widmet. Wir fühlen uns sehr geehrt, dass er auch ein ganz besonderer Freund von SiteGround ist.

Service-Updates

Starten Sie die Diskussion