Die Leseprobe - Seite 2

Leseprobe Seite 2

Caching und das Verfallsdatum – welches nehmen ?
Über ein Detail muss man sich beim Caching von Webseiten immer im klaren sein: Egal ob man selbst etwas unternimmt oder nicht – irgendwo im Zuge der Seitenauslieferung kommt garantiert irgend eine Form des Caching zum Zuge: Im dümmsten Fall resultiert die dann aber darin, dass jede Datei auf dem Webserver von jedem Client immer und immer wieder angefordert wird – völlig gleichgültig ob sie sich nun verändert hat oder nicht. Allein das ist ein Grund sicherzustellen, dass zumindest auf der eigenen Seite – also auf dem Server – alles richtig gemacht wird.

Wie bereits erwähnt ist die elementare Grundlage des Cachen von Webseiten das Verfallsdatum der betroffenen Daten. Dummerweise ist das aber nicht ganz ohne weiteres eindeutig zu klären, zumindest nicht ohne Mithilfe des Webserver Admins.

Grundsätzlich betrachtet sind Verfallsdaten keine sonderlich aufwendige Geschichte. Das Verfallsdatum von Lebensmitteln im Kühlschrank berechnet sich beispielsweise wie folgt:

Mindestens haltbar bis = Aktuelles Datum – 14 Tage

Das gilt zumindest für meinen Kühlschrank und natürlich auch nur dann, wenn sich etwas im Kühlschrank befindet das zumindest ansatzweise an Nahrungsmittel erinnert. Bei anderen Kühlschränken mag das anders sein.

Verfallsdaten bei Webseiten
Im Fall von Webseiten ist die Sache etwas schwieriger gestrickt. Eine Datei, die von einem Webserver ausgeliefert wird ist nämlich mit einer ganzen Reihe von Daten versehen. Folgende Daten kommen ins Spiel, wobei einige davon nur bei bestimmten Betriebssystemen vorliegen:
  • Das Datum, an dem die Datei angelegt wurde
  • Das Datum, an dem die Datei zuletzt verändert wurde
  • Das Datum, an dem die Datei zuletzt zum Lesen geöffnet wurde
  • Das Datum, an dem die Datei zuletzt vom Webserver ausgeliefert wurde
  • Das Datum, an dem die Datei zuletzt von einem bestimmten Client angefordert wurde
  • Das Datum, an dem die Datei in einem Proxy-Cache abgelegt wurde und so weiter und so fort.


Was man nun natürlich erreichen möchte ist, dass die Clients die Daten abrufen diese nur dann – und wirklich nur dann – abrufen, wenn sich der Inhalt der Datei auch verändert hat. Das geht natürlich nicht, denn der Client kann den Abruf ja erzwingen: Man kann dem Client (oder dem Proxy) aber zumindest die Informationen liefern die er braucht um herauszufinden, ob eine Datei noch gültig ist oder nicht.

Obwohl sich Proxies und Browser teilweise unterschiedlich verhalten kann man beide mehr oder minder mit den gleichen Informationen versorgen, und deshalb wird im Folgenden immer nur der Begriff »Client« verwendet, wenn es um die Seite einer HTTP-Verbindung geht, die eine Datei anfordert.

Letzten Endes gibt es nur ein einziges Verfallsdatum einer Datei, und das ist dann, wenn der Webserver-Admin (bzw. das Marketing, der Chef, die Werbe- oder die Presseabteilung) beschließt, das die Datei veraltet ist. Das macht die Sache aber etwas unhandlich, denn der Client kann dieses Datum nicht erraten. Also muss man es ihm mitteilen, und dafür gibt es verschiedene Wege.