Caching
Welche Möglichkeiten gibt es sicherzustellen, dass man gerade
die aktuellste Version einer Seite betrachtet? Was passiert dabei in den
einzelnen Fällen, wenn der Original - Webserver nicht erreicht werden
kann?
Caching soll für den Benutzer transparent sein, d.h. er soll von Caching
so gut wie nichts bemerken, sieht man von den zügigen Antwortzeiten
ab. D.h. die Responses der Caches sollen mit denen der Server äquivalent
sein. Zur Sicherstellung der Korrektheit der Caches werden verschiedene
Mechanismen eingesetzt:
- Mittels eines Validation - Mechanismus wird die Übereinstimmung
mit einer Response, die der Server schicken würde, überprüft.
- Man spricht davon, dass eine Response jung (fresh) genug ist, wenn
die Response jünger ist, als das vom Server definierte max. Alter für
dieses Dokument. Frischeanforderungen können vom Client, Server oder
den Caches definiert werden. Wenn die Frischeanforderungen des Clients oder
des Servers nicht vollständig eingehalten werden können, beinhaltet
die Response vom Cache eine entsprechende Warnung im Warning Response
Header Feld des HTTP - Protokolls, die anzeigt, dass die Response evtl.
nicht voll dem Request entspricht, bzw. Elemente, die explizit nicht - transparente
Requests absetzen. Diese Warnings können auch in anderem Zusammenhang
gebraucht werden. Die mit 1 beginnenden Warnings betreffen die "Frische"
der Nachrichten, die mit 2 Beginnenden den Inhalt der Nachricht. Nachfolgend
eine Liste der aktuell vergebenen Warncodes:
- 110 Response is stale: Diese Warning ist zurückzugeben, falls
die Antwort nicht mehr "frisch" ist
- 111 Revalidation failed: Diese Warning ist zurückzugeben,
falls die Antwort nicht mit dem Server abgeglichen werden kann, weil der
Server unerreichbar ist.
- 112 Disconnected operation: Diese Warning ist zurückzugeben,
falls der Cache für eine gewisse Zeit zum Netzwerk keine Verbindung
hat.
- 113 Heuristic expiration: Diese Warning ist zurückzugeben,
falls der Cache heuristisch eine "Frische - Zeit" von mehr als 24 Stunden
hat und die Antwort ebenfalls so alt ist.
- 199 Miscellaneous warning: Diese Warning enthält Informationen,
die dem User angezeigt werden, automatische Funktionen sind nicht anzuwenden.
- 214 Transformation applied: Muss von einen zwischenliegenden Cache
(oder Proxy) hinzugefügt werden, falls er Änderungen an Codierung
oder Medientyp vornimmt und keine Informationen dazu in der Antwort zu finden
sind.
- 299 Miscellaneous persistent warning: Diese Warnung enthält
Informationen, die dem User angezeigt werden, automatische Funktionen sind
nicht anzuwenden.