Kategorien
Allgemein

Apache mit vorkomprimierten Dateien

Dateien gz koprimiert vom Webserver ausliefern zu lassen kann internetseiten erheblich beschleunigen. Diese Zeit lässt sich noch verkürzen, wenn die Dateien nicht erst beim Ausliefern komprimiert werden sondern bereits als fertig komprimiert vom Server vorliegen und direkt ausgeliefert werden können.

Dateien gz koprimiert vom Webserver ausliefern zu lassen kann Internetseiten erheblich beschleunigen. Leider kommt es bei der Anfrage immer zu einer kurzen Verzögerung, wärend mod_gzip oder mod_deflate die Dateien Komprimieren.
Diese Zeit lässt sich erheblich verkürzen, wenn die Dateien nicht erst bei der Auslieferung komprimiert werden sondern bereits als fertig komprimierte Dateien auf dem Server vorliegen und direkt ausgeliefert wird.

Auch lassen sich viele Dateien mit Zopfli erheblich besser komprimieren als mit dem klassischen gzip Programm.

Mit mod_rewrite kann auf einfache Weise anstelle einer Datei, die parallel zur Datei hinterlegte *.gz Datei augeliefert werden.

RewriteEngine On
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.css $1\.css\.gz [QSA]

Wenn eine Dateien deren Name der auf die Dateierweiterung „.css“ endet von einem Browser der bei der Anfrage der Datei angegeben hat das er gzip Unterstützung bietet angefragt wird, prüft mod_rewrite ob eine Datei gleichen Namens als „.css.gz“ im gleichen Verzeichnis vorliegt. Sollte die entsprechende Datei vorliegen, wird diese Datei an stelle der angefragten „.css“ Datei mit gzip header ausgeliefert.

Die letzte angegebene Zeile kann für weitere Dateierweiterungen angepasst werden. Für JavaScript Dateien wird jedes Vorkommen von „.css“ auf „.js“ geändert.:

RewriteRule ^(.*)\.js $1\.js\.gz [QSA]

Eine Kompression ist für alle statischen Dateien Sinnvoll, die nicht andeweitig bereits komprimiert vorliegen. Besonders ist eine Vorkompression für Javascript Dateien (.js), HTML-Dateien (.html, .htm), XML-Dateien (.xml), Textdateien (.txt) sowie Stylesheets (.css) angebracht.

Von der_metzger

Hi, ich bin Jan Kuehnel - Fachinformatiker für Systemintegration ,Linux-Benutzer und Blogger. Seit 2019 arbeite ich als Systemadministrator bei einem beliebten deutschen Fahrradverleih und zuvor über 10 Jahren bei einem großen deutschen Provider. Ich folge seit meiner Kindheit dem Hobby, technische Rätsel zu lösen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.