GZIP Komprimierung

Profi-Hilfe ab 5,95 € Bei GZIP handelt es sich um ein Komprimierungsverfahren, welches die Größe von Dateien deutlich verringern kann. Besonders bei großen Webseiten kann man durch die GZIP-Komprimierung Datenmengen um bis zu 80 % reduzieren und damit auch die Ladezeit der Seite verringern. Grundsätzlich gibt es drei Möglichkeiten für die GZIP-Komprimierung.

Die einfachste besteht in einem Eintrag in der .htaccess-Datei:
<IfModule mod_deflate.c>
<FilesMatch "\\.(js|css|html|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>

Vorraussetzung für die Nutzung von GZIP ist, dass das Modul mod_deflate auf dem Server aktiv ist. Dieses wird in der ersten Zeile geprüft. Anschließend werden sämtliche Dateien mit den Endungen .js, .css, .html, .xml komprimiert. Natürlich können hier noch weitere Änderungen hinzugefügt werden, wie Z. B. php. Eine Komprimierung von Grafikdateien wie jpg, gif oder png macht jedoch wenig Sinn, da diese schon von Haus aus komprimiert sind. Sollte das Modul mod_deflate auf Ihrem Server nicht installiert sein, empfiehlt sich Methode 2, die GZIP-Komprimierung mittels PHP.

Hierbei wird einfach bei jeder zu komprimierenden Seite folgender Code in der ersten Zeile eingefügt:
<?php
ob_start("ob_gzhandler");
?>
Diese Methode hat jedoch Nachteile. Einerseits funktioniert sie nur bei php-Dateien, zum anderen muss der Code in jeder Datei eingefügt werden, was bei großen Websites schon ein großer Aufwand sein kann.

Als letztes bietet sich noch die Möglichkeit, die Komprimierung händisch zu erledigen. Dies bietet sich jedoch nur bei Dateien an, die zum einen sehr groß sind und zum anderen nur selten geändert werden. Man verkleinert die Dateien lokal mit einem Packer (z. B. 7zip) und kopiert sie dann einfach in das Verzeichnis der Originaldateien. Zur Vermeidung von Kompatibilitätsproblemen mit dem Apple Browser Safari, sollten die Endungen der komprimierten Datei auf .jgz geändert werden. Anschließend wird der folgende Code in die .htaccess-Datei eingefügt (Quelle: tutorialajax.com):

RewriteEngine on
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.jgz -f
RewriteRule (.*)\.js$ $1\.js.jgz [L]
AddType "text/javascript" .js.jgz
AddEncoding gzip .jgz

Durch diesen Code wird die gepackte anstelle der Originaldatei ausgeliefert.