Bandbreite sparen

HTTP Kompression verstehen

Die gemeinsten weil dauerhaftesten Kosten beim Betrieb einer Webseite sind die Kosten für die Traffic der Anbindung. Jedermann der eine größere Webseite betreibt, versucht die verbrauchte Bandbreite möglichst gering zu halten. Sind die ausgelieferten Seiten klein, erscheinen sie dem Leser zum Einen schneller, zum Anderen bedeuten kleinere Seitengrößen auch geringere Kosten für die verbrauchte Traffic.

Die Tatsache dass die meisten Dateien auf der lokalen Festplatte komprimiert werden können ist kein großes Geheimnis. Natürlich gilt das auch für Webseiten auf der Platte des Servers. Nachdem es sich bei HTML Dateien um reine Textdateien handelt – zudem noch um solche, in denen immer wieder identische Elemente in Form der HTML Tags auftauchen – , eignen sich diese Dateien sogar besonders gut für eine Komprimierung. Das bringt nur leider auf der Festplatte des Servers wenig, es sei denn der Festplattenplatz auf dem Server ist arg klein gewählt.

Allerdings: Webseiten können auch in komprimierter Form an den Client ausgeliefert werden, was natürlich Bandbreite spart. HTML-Seiten lassen sich im Allgemeinen auf etwa ein Viertel des nicht komprimierten Zustandes schrumpfen, mit etwas Glück sogar deutlich stärker.

Vorteil: Schneller surfen

Abgesehen von der eingesparten Bandbreite hat das Ausliefern von komprimierten Seiten aber noch einen weiteren Vorteil: Es geht nicht nur um Geld. Komprimierte Seiten sind nun mal deutlich kleiner als ihre unkomprimierten Originale. Das bedeutet natürlich dass auch weniger Daten pro Seite transportiert werden müssen. Und das wiederum bedeutet dass die Seite schneller beim Client ist. Der Surfer sieht die Inhalte also schneller und hat einen schnelleren Eindruck von der Seite. Und zwar einen deutlich schnelleren, denn wenn nur noch ein Viertel der Daten transportiert werden müssen, ist die Seite auch viermal schneller im Browser geladen. Das stimmt natürlich nicht ganz, denn die anderen Elemente der Seite – zum Beispiel Bilder – müssen ja auch noch geladen werden. Allerdings sind die Bilder vielleicht schon beim Client, und wenn die Haltbarkeitszeiten für die Bilddaten richtig gesetzt sind, fällt die Ladezeit für die Bilder nicht weiter ins Gewicht.

Eine schneller ausgelieferte Seite freut aber nicht nur den Surfer, sondern auch den Site-Administrator. Denn auch der hat einen Vorteil, nämlich den dass der eigene Server mehr Surfer verkraften kann. Wird eine Seite schneller ausgeliefert, wird auch der zugehörige HTTP Dämon (oder unter NT der zugehörige Thread) schneller beendet und die belegten Sockets schneller wieder frei. Das bedeutet letzten Endes dass der den Webserver betreibende Rechner auch weniger Last zu verkraften hat. Beim Ausliefern komprimierter Webseiten handelt es sich also um eine Tuning-Maßnahme für Webserver, die dem Betreiber nebenher noch Geld für die belegte Bandbreite spart.

Soviel zur Theorie. Ob die Serverlast in der Praxis durch die Auslieferung komprimierter Seiten tatsächlich verringert wird ist von vielen weiteren Faktoren abhängig. Doch selbst wenn nur Geld für Bandbreite gespart wird und dem Surfer ein besseres Surf-Verhalten geboten wird: Das Komprimieren lohnt sich auf jeden Fall.

Damit wäre auch der erste Faktor angesprochen von dem die tatsächliche Last-Ersparnis abhängt. Man darf nämlich nicht vergessen dass die Seiten erst einmal komprimiert werden müssen – und das erzeugt seinerseits zunächst einmal Last auf dem Rechner. Wie viel ist davon abhängig, ob einmal komprimierte Seiten zwischengespeichert werden können und nicht wieder komprimiert werden müssen. Ob das überhaupt geht ist wiederum vom verwendeten Server, beziehungsweise den verwendeten Zusatzprodukten, abhängig.

Werbung