1. Introduction
HTTP wird typischerweise für verteilte Informationssysteme verwendet, bei denen die Leistung durch die Verwendung von Response-Caches verbessert werden kann. Dieses Dokument definiert Aspekte von HTTP/1.1 im Zusammenhang mit dem Caching und der Wiederverwendung von Response-Nachrichten.
Ein HTTP-Cache ist ein lokaler Speicher für Response-Nachrichten und das Subsystem, das die Speicherung, den Abruf und die Löschung von Nachrichten darin steuert. Ein Cache speichert cachefähige Antworten, um die Antwortzeit und den Netzwerkbandbreitenverbrauch bei zukünftigen, gleichwertigen Anfragen zu reduzieren. Jeder Client oder Server DARF (MAY) einen Cache verwenden, obwohl ein Cache nicht von einem Server verwendet werden kann, der als Tunnel fungiert.
Ein gemeinsamer Cache (Shared Cache) ist ein Cache, der Antworten speichert, die von mehr als einem Benutzer wiederverwendet werden sollen; gemeinsame Caches werden normalerweise (aber nicht immer) als Teil eines Vermittlers bereitgestellt. Ein privater Cache (Private Cache) hingegen ist einem einzelnen Benutzer gewidmet; sie werden häufig als Komponente eines User Agents bereitgestellt.
Das Ziel des Cachings in HTTP/1.1 besteht darin, die Leistung erheblich zu verbessern, indem eine frühere Response-Nachricht wiederverwendet wird, um eine aktuelle Anfrage zu erfüllen. Eine gespeicherte Antwort wird als „frisch" (Fresh) betrachtet, wie in Abschnitt 4.2 definiert, wenn die Antwort ohne „Validierung" (Validation) (Überprüfung beim Ursprungsserver, ob die gecachte Antwort für diese Anfrage noch gültig ist) wiederverwendet werden kann. Eine frische Antwort kann daher bei jeder Wiederverwendung sowohl die Latenz als auch den Netzwerk-Overhead reduzieren. Wenn eine gecachte Antwort nicht frisch ist, kann sie dennoch wiederverwendbar sein, wenn sie durch Validierung aktualisiert werden kann (Abschnitt 4.3) oder wenn der Ursprung nicht verfügbar ist (Abschnitt 4.2.4).