Manchmal ist es sinnvoll oder erforderlich das man das Ablaufdatum von Webcontent verändert. Mit mod_expires für den Apache-Webserver kann man festlegen, welche Dateien überhaupt gecacht werden sollen und wenn ja wie lange. mod_expires fügt dem HTTP-Header einen entsprechenden Eintrag hinzu, der das Ablaufdatum regelt.
Apache-Modul aktivieren:
a2enmod expires ; /etc/init.d/apache2 reload
.htaccess mit folgendem Inhalt im Document-Root Verzeichnis erstellen:
ExpiresActive On
ExpiresDefault „access plus 4 hours“
ExpiresByType application/javascript A900
ExpiresByType application/x-javascript A900
ExpiresByType text/javascript A900
ExpiresByType text/html A90
ExpiresByType text/xml A90
ExpiresByType text/css A900
ExpiresByType text/plain A62
ExpiresByType image/gif A14400
ExpiresByType image/jpg A14400
ExpiresByType image/jpeg A14400
ExpiresByType image/png A14400
ExpiresByType image/bmp A14400
ExpiresByType application/x-shockwave-flash A3600
Was passiert normalerweise beim Caching? Die Daten, die der Browser beim ersten Aufruf herunterlädt, laden im Browser-Cache. Mit dabei das Datum, an dem sich die Datei zum letzten Mal geändert hat. Wird dieselbe Seite oder eine andere Seite mit den gleichen Daten aufgerufen, so schickt der Browser Requests mit dem HTTP-Header: If-Modified-Since: Wed, 16 Dec 2009 17:32:34 GMT
Der Server überprüft, ob eine neuere Version der angeforderten Datei vorhanden ist. Findet er eine neuere Version so schickt er diese mit dem Status Code 200 heraus. Hat sich aber nichts an der Datei geändert, so wird einfach der Status-Code 304 (Not modified) zurück gesendet. Das spart die vollständige Übertragung der Datei.
Pingback:Caching? - XHTMLforum