2. Overview of Cache Operation (Überblick über Cache-Operationen)
Der ordnungsgemäße Cache-Betrieb bewahrt die Semantik von HTTP-Übertragungen, während die Übertragung von Informationen reduziert wird, die bereits im Cache gespeichert sind. Siehe Abschnitt 3 von [HTTP] für allgemeine Terminologie und Kernkonzepte von HTTP.
Obwohl Caching eine vollständig optionale (OPTIONAL) Funktion von HTTP ist, kann davon ausgegangen werden, dass die Wiederverwendung gecachter Antworten wünschenswert ist und, sofern keine Anforderungen oder lokale Konfiguration dies verhindern, das Standardverhalten darstellt. Daher liegt der Fokus der HTTP-Cache-Anforderungen darauf, zu verhindern, dass Caches nicht wiederverwendbare Antworten speichern oder gespeicherte Antworten unangemessen wiederverwenden, anstatt vorzuschreiben, dass Caches immer bestimmte Antworten speichern und wiederverwenden müssen.
Ein "Cache-Schlüssel (Cache Key)" ist die Information, die ein Cache verwendet, um eine Antwort auszuwählen, bestehend aus mindestens der Request-Methode (Request Method) und dem Ziel-URI (Target URI), die zum Abrufen der gespeicherten Antwort verwendet wurden; die Methode bestimmt, unter welchen Umständen diese Antwort verwendet werden kann, um nachfolgende Anfragen zu erfüllen. Allerdings cachen viele heute gebräuchliche HTTP-Caches nur GET-Antworten und verwenden daher nur den URI als Cache-Schlüssel.
Für Anfrageziele, die der Inhaltsverhandlung (Content Negotiation) unterliegen, kann ein Cache mehrere Antworten speichern. Der Cache unterscheidet diese Antworten, indem er einige der Header-Felder der ursprünglichen Anfrage ebenfalls in den Cache-Schlüssel einbezieht, wobei er Informationen aus dem Vary-Antwort-Header-Feld verwendet, wie in Abschnitt 4.1 beschrieben.
Ein Cache kann zusätzliches Material in den Cache-Schlüssel einbeziehen. Beispielsweise könnte ein User-Agent-Cache die Identität der verweisenden Site einschließen und somit den Cache "doppelt schlüsseln (Double Keying)", um bestimmte Datenschutzrisiken zu vermeiden (siehe Abschnitt 7.2).
Am häufigsten speichern Caches das erfolgreiche Ergebnis einer Abrufanfrage: d. h. eine 200 (OK) Antwort auf eine GET-Anfrage, die eine Darstellung (Representation) der Zielressource enthält (siehe Abschnitt 9.3.1 von [HTTP]). Es ist jedoch auch möglich, Weiterleitungen, negative Ergebnisse (z. B. 404 (Not Found)), unvollständige Ergebnisse (z. B. 206 (Partial Content)) und Antworten auf andere Methoden als GET zu speichern, wenn die Definition der Methode ein solches Caching erlaubt und etwas definiert, das als Cache-Schlüssel geeignet ist.
Wenn ein Cache den Origin-Server (Origin Server) nicht kontaktieren kann oder keinen Weiterleitungspfad für eine Anfrage finden kann, befindet sich der Cache in einem "getrennten (Disconnected)" Zustand. Unter bestimmten Umständen kann ein getrennter Cache veraltete Antworten (Stale Responses) bereitstellen (Abschnitt 4.2.4).