Web Performance Management Teil 3: Komprimierung der auszuliefernden Inhalte mit GZip

Im dritten Teil der Reihe zum Thema Ladezeitenoptimierung geht es um das Thema GZip. GZip verringert die Übertragungsgröße durch das Komprimieren von Informationen bei der Auslieferung durch den Webserver. Dieses Verfahren wird seit der HTTP Version 1.1 unterstützt und ist somit in allen gängigen Browsern verfügbar. Um GZip nutzen zu können, muss das entsprechende Paket (bei einem Apache Webserver ist dies mod_gzip bzw. mod_deflate) vorhanden sein und aktiviert werden.

Um GZip zu nutzen muss folgender Code in die .htacess Datei eingefügt werden:


<Location />
 SetOutputFilter DEFLATE
 SetEnvIfNoCase Request_URI  \
 \.(?:gif|jpe?g|png)$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI  \
 \.(?:exe|t?gz|zip|gz2|sit|rar)$ no-gzip dont-vary
</Location>

Dieser Ausschnitt bewirkt, dass alle Dateien bis auf Bilder (.gif, .jpg, .png) und Dateien mit der Endung .exe, .gz, .zip etc. komprimiert ausgeliefert werden. Damit kann eine Reduzierung des Transfers um bis zu 50% erreicht werden.

Ein Problem haben die Webseitenbetreiber, die auf Grund ihres Hostingvertrages dieses mod_gzip Modul nicht nutzen können. Doch auch hier gibt es eine praktikabele Lösung: die PHP-Funktion ob_gzhandler().

Durch einbinden des folgenden Quellcodes in eine Datei wird diese ebenfalls GZip-Komprimiert ausgeliefert.


<?php
 if(!ob_start("ob_gzhandler")) ob_start();
?>

Um diesen hilfreichen Quellcode nicht in jede Eurer Dateien auf dem Server kopieren zu müssen, gibt der PHP Performance Blog einen guten Hinweis. Mit Hilfe des folgenden Codes könnt ihr Euren Server über die .htaccess zwingen jede Datei mit diesem Code zu versehen. Dazu legt ihr eine PHP-Datei an, die nur den obenstehenden Code enthält (hier: gzip-enable.php).


<FilesMatch "\.(txt|html|htm|php)">
 ForceType application/x-httpd-php
 php_value auto_prepend_file /the/full/path/gzip-enable.php
</FilesMatch>

Auf diesem Weg ist es für alle gängigen Browser möglich die Ladezeiten erheblich zu reduzieren.

Weitere Beiträge aus dieser Reihe:

Verwandte Themen:

  1. Web Performance Management Teil 2: Komprimierung von CSS und Java Script mit dem YUI Compressor
  2. Web Performance Management: Wie Ladezeiten verkürzt werden können – Teil 1
Abgelegt unter: Suchmaschinenoptimierung | Schlagworte: , , | Kommentar verfassen

Verfasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Du kannst dabei folgende HTML Tags und Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>