murattunalı.

Komprimierung.

Komprimierung ist das Verkleinern textbasierter Ressourcen vor dem Senden durch den Server und ihr Entpacken im Browser.

HTML, CSS und JavaScript sind Textdateien, und Text komprimiert sehr gut — typischerweise auf ein Viertel der Größe. Das ist der günstigste Leistungsgewinn überhaupt: Er verlangt keine Codeänderung und wirkt auf alle Textressourcen zugleich.

Es gibt zwei verbreitete Algorithmen: einen älteren mit universeller Unterstützung und einen neueren, der meist zehn bis zwanzig Prozent besser komprimiert. Der Server wählt den besten Algorithmus, den der Browser unterstützt.

Die gemessene Wirkung ist auf dieser Website eindeutig: Das Haupt-Stylesheet misst im Quelltext 67.400 Byte und komprimiert 12.415 Byte. Die Vendor-Bibliotheken gehen von 148.307 auf 55.733 Byte zurück. Gesendet wird also rund ein Drittel der Quelle.

  1. Textressourcen — HTML, CSS, JavaScript, SVG, JSON. Alle komprimieren.
  2. Bereits komprimierte — Bilder, Video, Schriftdateien. Erneutes Komprimieren bringt nichts.
  3. Kleine Dateien — bei Dateien unter einigen hundert Byte kann der Zusatzaufwand den Gewinn übersteigen.
  4. Statische Vorkomprimierung — eine Datei lässt sich beim Veröffentlichen komprimieren und ablegen; pro Anfrage fällt keine Arbeit an.

Der vierte Punkt ist für statische Websites ideal: Komprimiert wird einmal beim Veröffentlichen, nicht bei jeder Anfrage. So lässt sich die höchste Stufe nutzen, und die Serverkosten bleiben bei null.

Und eine Anmerkung zur Kontrolle: Setzen Sie nicht voraus, dass die Komprimierung aktiv ist — messen Sie es. In eigenen Serverkonfigurationen bleibt sie häufig aus, und die Wirkung betrifft sämtliche Textressourcen.

Komprimierung und Minifizierung sind verschiedene Dinge und werden zusammen eingesetzt. Die Minifizierung entfernt überflüssige Zeichen aus der Quelle selbst — Leerraum, Kommentare, lange Variablennamen. Die Komprimierung kodiert das Ergebnis anschließend zusätzlich.

Ihre Reihenfolge zählt: erst minifizieren, dann komprimieren. Eine minifizierte Datei enthält weniger Wiederholung, das Kompressionsverhältnis sinkt daher leicht — die Endgröße fällt dennoch am kleinsten aus.

Auf dieser Website wurde die Minifizierung des Stylesheets bewusst ZURÜCKHALTEND gehalten: Entfernt wurden nur Kommentare, Zeileneinrückungen und Leerzeilen; im Inneren von Selektoren oder Werten wurde nichts angerührt. Aggressives Entfernen hätte nur weitere 747 Byte gespart und das Risiko getragen, Nachfahren-Pseudo-Muster zu zerstören — Gewinn und Risiko wurden gemessen und abgewogen.

QUELLEN