Werden hauptsächlich statische Seiten mit Apache ausgeliefert, lohnt es sich diese zuvor zu komprimieren.
Mit der Erweiterung mod_deflate können unter Apache2 bestehende HTML, Text oder XML Dateien auf bis zu 20 – 30 % ihrer ursprünglichen Größe komprimiert werden auf Kosten einer höheren CPU-Auslastung.
Unter Apache1 gibt es dazu die Erweiterung mod_gzip – hier wird jedoch nur die neuere Erweiterung mod_deflate für Apache2 behandelt.
Standardmäßig ist unter Debian die Erweiterung mod_deflate bereits installiert und wartet nur darauf aktiviert zu werden:
a2enmod deflate
nun wird anschließend die Konfiguration von Apache neu geladen
apache2ctl graceful
fortan werden die MIME-Typen (Wikipedia) text/html, text/plain und text/xml (HTML-, Text- und XML-Dateien) komprimiert und im HTTP-Header steht nun:
Content-Encoding: gzip
ziemlich unspektakulär, oder? Okay, wir brauchen zumindest temporär zum testen eine Anzeige ob und wie gut die Komprimierung wirklich funktioniert. Dazu werden die folgenden Zeilen in der Konfigurationsdatei eines V-Hosts eingetragen:
<IfModule mod_deflate.c>
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat ‘”%r” %{outstream}n/%{instream}n (%{ratio}n%%)’ deflate
CustomLog /var/log/apache2/vhostname_deflate_log deflate
</IfModule>
Nach dem Neuladen der Konfiguration wird in der neuen CustomLog-Datei als Beispiel folgende Zeile erscheinen:
“GET /info.php HTTP/1.1” 13146/64834 (20%)
Man sieht das die Datei info.php angefordert und ausgeliefert wurde. Die originale Dateigröße betrug 64834 Bytes, aber wurde komprimiert auf 13146 Bytes oder 20% der Originalgröße. Dies ist ein sehr gutes Ergebnis und wenn ein Großteil der Webseite aus HTML-, Text- und XML-Dateien besteht, dann wird mod_deflate eine Menge Traffic einsparen. Für Besucher mit einer “schmalbandigen” Internetanbindung bedeutet dies, dass die Seite schneller geladen wird.