Background: Caching und seine Folgen

Gelesen bei AboutWebDesign.de
URL: http://www.aboutwebdesign.de/awd/content/1023213377.shtml

Was ist Caching?
Caching hat den Sinn, den Zugriff auf ein Medium zu beschleunigen. Dazu werden bereits abgerufene Inhalte auf einem anderen Medium (dem Cache) gespeichert, das möglichst schnell ist. Werden sie erneut abgerufen, liegen sie bereits auf dem schnelleren Medium und der Zugriff wird beschleunigt.

Ihr Computer macht das tagtäglich: er versucht, oft von der Festplatte geladene Dateien im Arbeitsspeicher zu halten, der viel schneller als die Festplatte ist.

Im Internet gibt es ähnliche Mechanismen und dadurch auftretende Probleme.

Client-seitiges Caching
Wenn ein Browser eine Datei abruft, wird er diese standardmäßig auf der Festplatte speichern, um sie bei späteren Zugriffen direkt parat zu haben.

Das diesbezügliche Verhalten der Browser lässt sich vom Benutzer einstellen. Nebenstehender Screenshot zeigt den entsprechenden Konfigurationsdialog des Internet Explorers (erreichbar über Extras > Internetoptionen > Einstellungen [im Rahmen "Temporäre Internetdateien"]).

Wer über eine ausreichend schnelle Internet-Verbindung verfügt, dem sei empfohlen, den Cache auszuschalten.

Proxy Server
Proxy Server sind nichts anderes als große Caches. Sie stehen meist bei Ihrem Internet-Provider, oder vielleicht auch direkt in Ihrer Firma. Oft sind auf ihnen Millionen von HTML-Dateien und Bildern gespeichert. Der Betreiber des Proxys spart Geld, indem von Ihnen angeforderte Daten nicht aus dem Netz, sondern von der Festplatte des Proxy Servers geladen werden.

Pro/Contra

Für Caches spricht:

Unangenehmer Nebeneffekt ist dabei natürlich, dass die Daten im Cache nicht immer aktuell sind. Je nachdem, wie oft der Cache aktualisiert wird, können dort Dateien mit einer Lebensdauer von mehreren Wochen schlummern.

Wenn Sie also eine News-Seite betreiben, wäre es ziemlich ärgerlich, wenn Ihre Inhalte gecached würden. Haben Sie jedoch nur wenige Aktualisierungen, sollten Sie das Cachen Ihrer Inhalte zumindest nicht verhindern.

Einflussmöglichkeiten

Auf die Cache-Einstellungen von Providern und Surfern haben Sie als Webmaster sowieso keinen Einfluss. Sie können jedoch verhindern, dass Ihre Inhalte gecached werden, wenn Sie das nicht wollen.

Auf HTML-Ebene können Sie dazu diese Meta-Tags verwenden:

<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="expires" CONTENT="Tue, 04 Jun 2002 01:02:03 GMT">


Das zweite Meta-Tag spezifiziert ein Datum, bis zu dem die aktuelle HTML-Seite gültig sein soll. Wollen Sie Caching ganz verhindern, so tragen Sie ein Datum aus der Vergangenheit ein. Wenn Sie dagegen schon das Datum für die nächste Aktualisierung kennen, können Sie dieses hier eintragen.

Das Caching von Bildern oder anderen Dateien lässt sich damit aber nicht verhindern. Dafür müssen Sie etwas tiefer im System ansetzen: wenn ein Internet-Server auf eine Anfrage antwortet, schickt er den eigentlichen Nutzdaten einen HTTP-Header voraus. Dieser Header enthält auch ein "Expires"-Feld, das genauso wie das obige Meta-Tag funktioniert. Wie sich der Inhalt dieses Feldes ändern lässt, ist von System zu System unterschiedlich. Ihre Server-Dokumentation wird Sie dabei mit zusätzlichen Informationen versorgen.