Apache Modul Deflate (mod-deflate, mod-gzip)
30.09.2004
10:34:01 Uhr22430 Aufrufe
10:34:01 Uhr
Noch nicht bewertet
Durch die Module "Deflate" oder "mod_gzip" liefert der Apache 2 Server die Seiten komprimiert aus. In der Regel wird diese Kompression von allen modernen Browsern unterstütz (Internet Explorer 6 , Mozilla, Firefox, Opera usw.). Bei großen Webseiten mit hohen Zugriffszahlen zahlt sich die Installation durch die Reduzierung des Trafiks schnell aus. Positiver Nebeneffekt ? die Seiten werde auch schneller ausgeliefert, da sie kleiner sind.
Da das aktuelle Apache Modul "mod_gzip" unter dem Apache 2.0 von dem internen Modul "mod_deflate" abgelöst wurde, hier mal eine kleine Anleitung dazu.
Bei den meisten Binär-Paketen der großen Distributoren ist mod_deflate schon aktiviert bzw. mit kompiliert.
Diejenigen unter uns, die Ihren Apache aber lieber selbst kompilieren, sollten auf jeden Fall "--enable-deflate" beim Kompilieren mit angeben (wenn man schon gerade dabei ist auch gleich "--with-mpm=worker" mit angeben, das schaltet das Threading ein)
Nach dem Kompilieren und dem Starten des Apache sollte unter /server-info (was man extra in der httpd.conf aktivieren muss) das Modul: mod_deflate.c stehen.
Jetzt fehlen noch die httpd.conf Einträge:
Um die Kompressionsrate auch auslesen zu können, kann man das Logfile anpassen:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" (%{ratio}n)" combineddeflate
Jetzt sollte man noch der Logfile Datei das neue Format beibringen ("combineddeflate" anstatt "combined"):
CustomLog /usr/local/apache2/logs/access.log combineddeflate
So das war es. Ob die Seiten jetzt auch wirklich komprimiert ausgeliefert werden, kann man z.B. mit dem PHP Befehl phpinfo() unter "HTTP Headers Information" auslesen.
Weiter Informationen findet Ihr auf der Apache Seite oder hier. Ob die Seite auch wirklich komprimiert ausgeliefert wird, könnt Ihr hier testen.
Links:
Gruß
Frank
Bei den meisten Binär-Paketen der großen Distributoren ist mod_deflate schon aktiviert bzw. mit kompiliert.
Diejenigen unter uns, die Ihren Apache aber lieber selbst kompilieren, sollten auf jeden Fall "--enable-deflate" beim Kompilieren mit angeben (wenn man schon gerade dabei ist auch gleich "--with-mpm=worker" mit angeben, das schaltet das Threading ein)
Nach dem Kompilieren und dem Starten des Apache sollte unter /server-info (was man extra in der httpd.conf aktivieren muss) das Modul: mod_deflate.c stehen.
Jetzt fehlen noch die httpd.conf Einträge:
01.
<Location /> 02.
# Insert filter 03.
SetOutputFilter DEFLATE 04.
05.
# Netscape 4.x has some problems... 06.
BrowserMatch ^Mozilla/4 gzip-only-text/html 07.
08.
# Netscape 4.06-4.08 have some more problems 09.
BrowserMatch ^Mozilla/4\.0[678] no-gzip 10.
11.
# MSIE masquerades as Netscape, but it is fine 12.
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 13.
14.
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48 15.
# the above regex won't work. You can use the following 16.
# workaround to get the desired effect: 17.
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html 18.
19.
# Don't compress images 20.
SetEnvIfNoCase Request_URI \ 21.
\.(?:gif|jpe?g|png)$ no-gzip dont-vary 22.
23.
# Make sure proxies don't deliver the wrong content 24.
# Header append Vary User-Agent env=!dont-vary 25.
</Location> 26.
27.
DeflateFilterNote ratio 28.
DeflateCompressionLevel 6LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" (%{ratio}n)" combineddeflate
Jetzt sollte man noch der Logfile Datei das neue Format beibringen ("combineddeflate" anstatt "combined"):
CustomLog /usr/local/apache2/logs/access.log combineddeflate
So das war es. Ob die Seiten jetzt auch wirklich komprimiert ausgeliefert werden, kann man z.B. mit dem PHP Befehl phpinfo() unter "HTTP Headers Information" auslesen.
Weiter Informationen findet Ihr auf der Apache Seite oder hier. Ob die Seite auch wirklich komprimiert ausgeliefert wird, könnt Ihr hier testen.
Links:
- Apache Deflate Handbuch
- How To Optimize Your Site With GZIP Compression (englisch)
- A simple online web page compression / deflate / gzip test tool (english)
Gruß
Frank













