Caching für statische Seiten nutzen

Veröffentlicht am 17. Januar 2010 von Germeshausen.de No Comments

In den meisten Webserverkonfigurationen werden statische Dateien wie CSS, JS oder auch Bilder und auch andere Medien wie Flash-Dateien nicht mit einem Expire-Header ausgeliefert. Dies führt dazu das diese Dateien vom Browser bei jedem Aufruf neu geladen werden. Das Apache-Modul mod_expires kann hier abhilfe schaffen. Ist das Modul installiert, so kann mit Hilfe einer .htaccess-Datei angegeben werden, wann ein Element neu angefordert werden soll, weil es sich vermutlich geändert hat.

<IfModule mod_expires.c>
	ExpiresActive On
	#ExpiresDefault "access plus 2 days"
	ExpiresByType image/bmp "access plus 7 days"
	ExpiresByType image/gif "access plus 7 days"
	ExpiresByType image/jpeg "access plus 7 days"
	ExpiresByType image/jpg "access plus 7 days"
	ExpiresByType image/png "access plus 7 days"
	ExpiresByType image/x-icon "access plus 7 days"
	ExpiresByType text/css "access plus 7 days"
	ExpiresByType text/javascript "access plus 7 days"
	ExpiresByType text/x-js "access plus 7 days"
	ExpiresByType application/javascript "access plus 7 days"
	ExpiresByType application/x-javascript "access plus 7 days"
	ExpiresByType application/x-javascript "access plus 8 hours"
	ExpiresByType application/x-shockwave-flash "access plus 8 hours"
	ExpiresByType application/pdf "access plus 8 hours"
	ExpiresByType video/x-flv "access plus 8 hours"
	ExpiresByType video/quicktime "access plus 8 hours
</IfModule>

Mit diesen Zeilen wird dem Browser mitgeteilt, dass sich die Datei voraussichtlich in 7 Tagen wieder ändern wird. Zwischenzeitlich greift der Browser dann bevorzugt auf den lokalen Cache zu. Dies mindert Ladezeiten, sowie auch Traffic. Der Seitenaufbau wird somit in den meisten Fällen deutlich schneller.

Die Anweisung ExpireDefault sollte nicht gesetzt werden wenn Seiten bei jedem Aufruf dynamisch generiert werden. Bei einer Seite, wo sich nicht häufig Inhalte ändern, stellt dies jedoch kein größeres Problem dar. Man kann hier sonst auch eine Anweisung geben, dass der Cache nur 1 Stunde gültig ist und für den Rest 7 Tage.

Keine Kommentare

Schreibe einen Kommentar