Zum Hauptinhalt springen

1. Einführung

Moderne HTTP-Bereitstellungen verwenden oft mehrere Caching-Ebenen. Beispielsweise könnte eine Website einen Cache auf dem Origin-Server selbst verwenden; sie könnte eine Caching-Ebene im selben Netzwerk wie der Origin-Server bereitstellen, sie könnte ein oder mehrere über das Internet verteilte CDNs verwenden, und sie könnte auch vom Browser-Caching profitieren.

Da es oft wünschenswert ist, diese verschiedenen Klassen von Caches separat zu steuern, ist es notwendig, eine Möglichkeit zu haben, Cache-Direktiven auf sie auszurichten. Wenn beispielsweise ein Publisher einen Mechanismus hat, um den Inhalt eines Caches ungültig zu machen, mit dem er eine Beziehung hat (wie ein CDN-Cache), könnte er sich wohler fühlen, ihm eine großzügigere Caching-Richtlinie zuzuweisen, während er dennoch das Verhalten anderer Caches einschränken möchte.

Das HTTP-Cache-Control-Antwort-Header-Feld (definiert in Abschnitt 5.2 von [HTTP-CACHING]) wird häufig verwendet, um das Caching-Verhalten zu steuern. Es ist jedoch relativ undifferenziert; während einige Cache-Direktiven (z. B. s-maxage) auf eine bestimmte Klasse von Caches ausgerichtet sind (für s-maxage, gemeinsame Caches), ist die Ausrichtung nicht konsistent über alle bestehenden Cache-Direktiven verfügbar (z. B. stale-while-revalidate). Dies ist besonders problematisch, da die Anzahl der Caching-Erweiterungen zusammen mit der Anzahl potenzieller Ziele wächst.

Einige Implementierungen haben Ad-hoc-Kontrollmechanismen definiert, um dieses Problem zu überwinden, aber ihre Interoperabilität ist gering. Abschnitt 2 definiert einen Standardrahmen für gezieltes Cache-Control unter Verwendung von HTTP-Antwort-Headern, und Abschnitt 3 definiert einen solchen Header: das CDN-Cache-Control-Antwort-Header-Feld.

1.1. Notationskonventionen

Die Schlüsselwörter "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" und "OPTIONAL" in diesem Dokument sind wie in BCP 14 [RFC2119] [RFC8174] beschrieben zu interpretieren, wenn und nur wenn sie in Großbuchstaben erscheinen, wie hier gezeigt.