Anleitungen

Anleitung GZIP-Kompression von Webseiten über PHP

Anleitung zum Komprimieren von HTML- oder PHP-Dokumenten mit der GZIP-Kompression.

Nahezu alle Browser unterstützen seit vielen Jahren die Gzip-Kompression. Die Anwenderseite ist also bestens auf diese Webseiten-Komprimierungstechnik vorbereitet. Nun müssen Sie nur noch Ihren Webspace entsprechend anpassen. Wie das auf einfachste Art und Weise geschehen kann, wird hier beschrieben.

1.0 Was ist die GZIP_Kompression?

Gzip ist ein Kompressions-Algorhythmus, welcher ähnlich wie das RAR- oder ZIP-Format sehr verbreitet ist. Es lassen sich bei Aufruf eines Web-Dokuments über die GZIP-Kompression etwa vierzig bis neunzig Prozent des Datenvolumens einsparen. Das spart nicht nur zu übertragende Daten ein. Zugleich werden die Dokumente schneller angezeigt. Das läßt sich in den Grafiken von Google Analytics© sehr schön nachvollziehen.

Eine Bild-Datei allerdings ist im JPG- oder GIF-Format bereits komprimiert. Dort bringt GZIP nicht mehr große Einsparungen. Andererseits können Sie Ihre Bilder in besserer Qualität, also mit höherer Auflösung ins Web stellen. Durch die GZIP-Komprimierung werden diese ebenso schnell auf dem Besucher-Rechner angezeigt wie von vornherein stark komprimierte Bilder.

Alle anderen Daten eines Webseiten-Dokuments lassen sich jedoch hervorragend verkleinern, weil viele ihrer Bestandteile wie Tags etc. mehrfach vorkommen. Und weil diese dann um soviel kleiner als das Original sind, braucht es vor allem für Dial up und ISDN-User signifikant weniger Zeit zum Übertragen.

Die dominierenden Apache und IIS Web-Server, auf denen die Domains gehostet sind, erlauben eine serverseitige Gzip- oder Deflate-Komprimierung. Die gesparte Bandbreite geht hierbei allerdings zu Lasten der Server-CPU, weil sie das Umrechnen übernimmt. Dies ist normalerweise unproblematisch, weil in der Regel nur einfach zu komprimierende HTML-, CSS- und PHP-Textinhalte komprimiert werden. Zudem wird die Komprimierung nur dann durchgeführt, wenn der Besucher-Browser oder Suchmaschinen-Crawler sie unterstützt. Wenn Ihre Server-CPU jedoch durch die Bereitstellung dynamischen Contents schon stark belastet ist, könnte eine Komprimierung des Contents nachteilig sein. Besser ist daher eine clientseitige Gzip-Komprimierung, welche den Server unbeteiligt läßt..

Gzip ist wegen seiner Prüfsumme und seines vollständigen Headers eine robustere Kodierung als Deflate - sie funktioniert immer. Trotz ansonsten weitgehend ähnlicher Komprimierungsalgorithmen.

2.0 Wie wird die GZIP-Kompression implementiert?

2.1. Drei verschiedene Wege, um GZIP-Komprimierung zu aktivieren

Vorweg: Nahezu alle neuen und älteren Browser unterstützen die GZIP-Kompression. Und die ganz alten Browser, welche GZIP nicht unterstützen, laden die Webseite umkomprimiert vom Webspace. So oder so - Ihre Dokumente werden vollständig angezeigt.

Es gibt derzeit drei verschiedene Wege, um die GZIP-Komprimierung zu implementieren. Doch zwei dieser Methoden verwenden "mod_gzip" - dies ist eine Variante, die extrem schwer einzurichten ist. Entweder würden hierbei alle Dokumente beim Aufruf komprimiert werden. Oder man speichert zwei verschiedene Versionen des Dokuments auf dem Webspace - einmal komprimiert oder unkomprimiert, beispielsweise index.html und index.gz. Browser, die GZIP unterstützen, würden nur die ".gz"-Datei laden. Bei der letzteren Variante ist also die Aktualisierung und Pflege von Daten sehr aufwendig, weil nach jedem Hochladen eine nervtötende manuelle Komprimierung erfolgen müsste. Zudem müssten Sie bei einem Wechsel des Webspace-Anbieters den Apache-Server komlett neu einrichten.

Diese vielen Nachteile entfallen mit der dritten Variante: GZIP via PHP. Es ist so leicht einzurichten, dass Fehler unmöglich sind. Setzen Sie hierzu ganz an den Anfang eines jeden HTML-Dokuments, eines jeden PHP-Dokuments Ihrer Webseite, die komprimiert werden soll, den folgenden PHP-Code:

Ohne weitere Einrichtungsschritte werden jetzt bereits alle PHP-Dokumente inclusive externen CSS bei Aufruf durch den Besucher komprimiert. Um auch die HTML-Dateien zu komprimieren, muss der Server diese parsen - d.h. möglicherweise enthaltenen PHP-Code abarbeiten. Das erreichen Sie auf die folgende Art und Weise.

2.2 PHP-Code in HTML-Dokumenten abarbeiten lassen

Sie könnten mit einer kleinen Änderung der Dokumentnamen ohne jede Einschränkung in deren Funktionalität dafür sorgen, dass der Server den implantierten PHP-Code abarbeitet: Ändern Sie einfach die Dokument-Endungen von ".HTM" und ".HTML" auf ".PHP". Dies hätte allerdings den Nachteil, dass zum einen PHP-seiten oft schlechter in Suchmaschinen gerankt werden. Zum anderen könnte eine darin erreichtes gutes Ranking verlorengehen.

Der Königsweg ist daher, den Server durch eine Anweisung in der Datei ".HTACCESS" (mit Punkt vorweg!) im Hauptverzeichnis Ihres Webspace dazu zu bringen, auch ".HTM", ".HTML" und ".CSS"-Dateien zu parsen. Das geht so:

Wenn die Datei im Hauptverzeichnis Ihres Webspace bereits existiert, kopieren Sie diese via FTP auf Ihren Rechner und öffen sie. Andernfalls legen Sie die Datei neu an. Dann kopieren Sie eine der folgenden Codezeilen-Varianten in die Datei hinein:

Beispiel:
Syntax in der Datei ".HTACCESS" für Provider 1&1:
AddType x-mapp-php4 .php .htm .html .css
Zwei weitere gebrüuchliche Syntaxen für die Datei ".HTACCESS" vieler anderer Provider:
AddType application/x-httpd-php php php4 php3 html htm css
AddType application/x-httpd-php .html .htm .css

Ihr Provider könnte jedoch eine andere Syntax dieser Zeile erfordern. Nach meiner Kenntnis benötigt nur der Provider 1und1© eine andere Syntax als die meisten anderen Provider. Sollte also der PHP-Code in Ihren HTM-Dokumenten nicht abgearbeitet werden, fragen Sie bitte Ihren Webspace-Anbieter nach der für seinen Server erforderlichen Syntax.

Möchten Sie sehen, wie eine mit GZIP komprimierte Seite aussieht? Sowohl diese als auch alle anderen Seiten sind auf diese Weise GZIP-komprimiert.

2.3 Überprüfen, ob GZIP-Kompimierung funktioniert

Laden Sie die zu prüfende Seite in den Firefox-Browser. Unter dem Menüpunkt "EXTRAS" gehen Sie auf "SEITENINFORMATIONEN". Dort steht die Größe des über das Internet übertragenen Dokuments. Wenn diese Angabe wesentlich kleiner ist als die originale Dateigröße im Webspace oder auf Ihrem Rechner, funktioniert die GZIP-Komprimierung.

Gern können Sie auf diese Seite verlinken:
Hinweise:
Betreiber von Webseiten können nach dem Zitierrecht 1 BIS 2 SÄTZE aus dieser Webseite vollständig UMFORMULIERT sowie mit einem LINK ZUR QUELLSEITE auf ihre Domain übertragen. Wird dies nicht beachtetz, droht beiden Domains eine Benachteiligung in der Google-Suchmaschinen-Positionierung durch duplicate content. Quellverweis: [André Chinnow, Internet: "", Hamburg 2010]
Für die Unschädlichkeit und Anwendbarkeit der hiesigen Ratschläge wird weder eine Gewährleistung noch eine Haftung übernommen. Sie entstammen den Erfahrungen von Laien. Klären Sie vor der Anwendung dieser Informationen mit Experten des Fachbereichs ab, ob Ihnen hieraus Nachteile gleich welcher Art entstehen können. Folgen Sie stets den Herstelleranweisungen von Produkten - und zwar unabhängig von den hiesigen Ausführungen. Aussagen zu Rechtslagen stellen zudem keine Rechtsberatung dar, sondern reflektieren nur die Meinung des Autors, welche auf Irrtümern basieren kann.
eBook
oder
Druckversion

E-Nummerliste der Lebensmittel-Zusatzstoffe mit Risikobewertung

eBook


gedrucktes Buch



eBook
oder
Druckversion

Allergien:
Beschwerdefrei ohne Medikamente

eBook


gedrucktes Buch



eBook
oder
Druckversion


Zeitkritische Zitate & kleine Weisheiten

eBook


gedrucktes Buch