Anatol: Apache mod_deflate komprimiert keine Javascript Dateien

Hi Forum,

ich habe ein bisschen an Apache (2.2.10) geschraubt, um die Performance zu erhoehen/Bandbreite zu verringern.

Eine Methode ist mod_deflate. Es funktioniert gut und Seiten werden etwa doppelt so schnell heruntergeladen. Das Firefox Firebug Plugin YSlow zeigt mir dennoch an, dass alle Javascript Dateien unkomprimiert sind.

Das deflate Log zeigt auch an, dass Javascript Dateien unkomprimiert sind, z.B.:

"GET /lib/overlib/overlib.js HTTP/1.1" 49241 (-) "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-NZ; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.3, Ant.com"

Ich sehe das Problem in der Apache config Datei aber nicht. Hier ist ein Abschnitt aus http.conf:

-----------------------------------------
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/x-httpd-eruby
AddOutputFilterByType DEFLATE text/html
DeflateCompressionLevel 9
#Skip browsers with known problems
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#Header append Vary User-Agent
#Logging
DeflateFilterNote ratio
LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
CustomLog "D:/www/moodle1.9.2/logs deflate_log" deflate
</IfModule>
-----------------------------------------

Der Mime-Type text/javascript ist in der liste enthalten.

Weiss jemand was hier schieflaeuft?

Schoene Gruesse!
Anatol

  1. Lieber Anatol,

    ich habe keine Ahnung, aber vielleicht hilft ein Tausch in der Reihenfolge folgender zweier Direktiven in Deiner Config?

    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE application/x-javascript

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  2. Hi,

    kaum habe ich die Nachricht gesendet habe ich das Problem gefunden.

    Der Mime Type text/javascript ist veraltet. Statt dessen sollte es application/javascript heissen. Ich habe also einfach folgende Zeile hinzugefuegt:

    AddOutputFilterByType DEFLATE application/javascript

    Noch eine andere Frage: Die Zeile

    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    bedeutet, dass der Internet Explorer nur Dateien mit dem Mime Type text/html komprimiert. Soweit ich weiss hat IE7+ aber keine gzip Probleme mehr mit anderen Textformaten. Wie kann ich die Zeile denn aendern, so dass das nur fuer IE<7 zutrifft? Geht das?

    Schoene Gruesse!
    Anatol

    1. Guten Tag,

      Noch eine andere Frage: Die Zeile

      BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

      bedeutet, dass der Internet Explorer nur Dateien mit dem Mime Type
      text/html komprimiert. Soweit ich weiss hat IE7+ aber keine gzip Probleme
      mehr mit anderen Textformaten. Wie kann ich die Zeile denn aendern, so dass
      das nur fuer IE<7 zutrifft? Geht das?

      \bMSIE ist ein <http://de.selfhtml.org/perl/sprache/regexpr.htm@title=Regulärer Ausdruck>. Du kannst also einen Ausdruck schreiben, der auf MSIE, aber nicht auf Version 7 (oder höher?) matcht. Siehe auch die Dokumentation zu BrowserMatch.

      Gruß
      Christoph Jeschke

      --
      Zend Certified Engineer
      Certified Urchin Admin