501
aqui
bastla
Epixc0re
Frank
L3ucht3
MrTrebron
Penny.Cilin
sab001
Scherdel
Skyemugen

Apache Modul Deflate (mod-deflate, mod-gzip)

Mitglied: Frank
30.09.2004
10:34:01 Uhr
22430 Aufrufe
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:
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 6
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

mehr ...Ähnliche Beiträge