Kosten sparen mit HTTP-Kompression

Seite komprimiert ausliefern

Die Theorie ist klar: Komprimierte Webseiten sind offensichtlich ein Muss. Wie aber geschieht das? Einfach nur gzip oder WinZip anwerfen und Dateien vor dem Hochladen zum Webserver komprimieren, reicht nicht aus - zumal komprimiert ausgelieferte Seiten das eine oder andere Problem aufwerfen.

Zunächst einmal muss man wissen: Die Auslieferung von HTML-Seiten in kodierter Form stellt von Haus aus kein Problem dar. Dabei kann es sich im Prinzip um eine beliebige Kodierung handeln - die Kompression ist da nur eine Spezialform der Kodierung. Um genau zu sein, ist sogar die ganze normale "Plaintext"-Form lediglich eine Spezialform der Kodierung - nämlich die Spezialform "Ohne besondere Kodierung".

Beim Kodieren einer Webseite unterscheidet man zwischen dem "Content-Encoding" und dem "Transfer-Encoding". Bei Ersterem geht es darum, den Inhalt vor der Auslieferung zu kodieren, bei Letzterem darum, den Inhalt während der Übertragung zu kodieren. Für die Komprimierung von Webseiten hat diese Unterscheidung in der Praxis aber keine Auswirkung, da viele Webseiten ohnehin beim Abruf dynamisch erzeugt werden: Eine Unterscheidung zwischen dem Zustand vor und während der Auslieferung wird da schwierig.

Aus diesem Grund wird im Folgenden auch immer von "Transfer Encoding" gesprochen. Auch, wenn es sich in einigen der angesprochenen Fälle um "Content-Encoding" handelt.

Beim Transfer-Encoding ist es gleichgültig, ob die Kodierung nun eine Verschlüsselung, eine Komprimierung oder irgendein anderes Verfahren darstellt. Wichtig ist allerdings, dass der Client (also der Browser des Surfers) im Zuge des Request mitgeteilt hat, dass er eine bestimmte Form der Kodierung tatsächlich verarbeiten kann.