HomeKontaktImpressum
Sie sind hier: Home

GZIP-Modul und die .htaccess-Datei

Wie bei grundsätzlich allen Einstellungen, welche die Konfiguration des Webservers betreffen, sollte auch die Fähigkeit zur Kompression von Inhalten mit entsprechender Vorsicht eingestellt werden. Schließlich droht bei einer Fehlkonfiguration ein nicht funktionsfähiger Webserver. Die Folge ist, dass Besucher die Internetseite nicht zu Gesicht bekommen und letztlich verloren sind.

An dieser Stelle sollen die wichtigsten Optionen zur Einstellung der .htaccess-gesteuerten Website-Komprimierung angesprochen und eine entsprechende Beispielkonfiguration angegeben werden. Dabei wird vorausgesetzt, dass das für die Komprimierung durch den Webserver nötige Apache-Modul mit Namen mod_gzip auch aktiviert ist – unabhägig davon, ob es nun als Modul nachgeladen wurde oder direkt in den Webserver integriert (direkt beim Kompilieren des Servers einbezogen) ist. Folgender Block enthält eine beispielhafte .htaccess-Konfigurationsdatei, die an dieser Stelle näher betrachtet werden soll.

<IfModule mod_gzip.c>
  mod_gzip_on yes
  mod_gzip_static_suffix .gz
  mod_gzip_can_negotiate yes
  AddEncoding gzip .gz
  mod_gzip_update_static no
  mod_gzip_item_include file \.(html|php|rss)$
  mod_gzip_item_exclude file \.(css|js|exe)$
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
  mod_gzip_dechunk yes
</IfModule>

Die zur Kompression der Webserverausgabe nötigen Einstellungen sollten in einen Block eingebettet werden, der voraussetzt, dass das benötigte Modul auch enthalten ist. Dies geschieht durch einen bedingungsgesteuerten IfModule-Block, der die Einstellungen entsprechend schachtelt. Als Bedingung wird das Modul mod_gzip.c angegeben – der Name, welcher das Modul bezeichnet. Bedeutet, dass alle in diesem Bereich angegebenen Einstellungen nur zum Tragen kommen, wenn mod_gzip als Modul geladen oder in den Server einkompiliert wurde. Zwar kann eine derartige Schachtelung auch weggelassen werden, allerdings führt diese Vorgehensweise zu einem Fehler, wenn das Modul nicht geladen ist – der Webserver funktioniert nicht und liefert dementsprechend auch nichts mehr aus.

Innerhalb des geschachtelten Bereichs passiert folgendes: Als Erstes wird das Modul mit mod_gzip yes aktiviert. Danach wird mit mod_gzip_static_suffix .gz festgelegt, dass eventuell im Filesystem des Webservers enthaltene vorkomprimierte Dateien – falls eine solche vorhanden ist – unter ihrem Namen mit angehängter Endung .gz zu finden sind. In der darauf folgenden Zeile mod_gzip_can_negotiate yes wird festgelegt, dass der Server vor der Komprimierung einer Datei erst einmal im Dateisystem nachschauen soll, ob nicht schon eine komprimierte Version mit dem zuvor festgelegten Endungszusatz .gz vorliegt.

Hierdurch erspart man dem Server die Komprimierung der Datei und lässt ihn statt dessen die vorkomprimierte Datei ausliefern – daraus folgt letztlich eine Performance-Steigerung, da der Komprimierungsalgorithmus nicht durchgeführt werden muss. Befindet sich im Dateisystem eine gepackte Dateiversion, die älter ist als die unkomprimierte Datei, so wird die aktuellere Datei erneut komprimiert und ausgeliefert – vorkomprimierte Dateien sollten also auf dem neuesten Stand sein, wenn der Vorteil einer vorkomprimierten Datei genutzt werden soll.

Seite 5 von 6 | « [1][2][3][4] • [5] • [6] »












  
© 2009-2019 Möglichkeiten zur Steigerung von Geschwindigkeit und Usability Ihrer eigenen Website