Zum Hauptinhalt springen

1. Einführung (Introduction)

HTTP [RFC2616] verlangt, dass Caches "auf eine Anfrage mit der aktuellsten gehaltenen Antwort antworten... die für die Anfrage angemessen ist", obwohl "unter sorgfältig abgewogenen Umständen" eine veraltete Antwort zurückgegeben werden darf. Dieses Dokument definiert zwei unabhängige Cache-Control-Erweiterungen, die eine solche Kontrolle ermöglichen: stale-if-error und stale-while-revalidate.

Die HTTP Cache-Control-Erweiterung stale-if-error ermöglicht es einem Cache, eine veraltete Antwort zurückzugeben, wenn ein Fehler auftritt -- z. B. ein 500 Internal Server Error, ein Netzwerksegment oder ein DNS-Fehler -- anstatt einen "harten" Fehler zurückzugeben. Dies verbessert die Verfügbarkeit.

Die HTTP Cache-Control-Erweiterung stale-while-revalidate ermöglicht es einem Cache, sofort eine veraltete Antwort zurückzugeben, während er sie im Hintergrund erneut validiert, wodurch Latenzzeiten (sowohl im Netzwerk als auch auf dem Server) vor Clients verborgen werden.

2. Notationskonventionen (Notational Conventions)

Die Schlüsselwörter "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" und "OPTIONAL" in diesem Dokument sind so zu interpretieren, wie in RFC 2119 [RFC2119] beschrieben.

Diese Spezifikation verwendet die erweiterte Backus-Naur-Form von RFC 2616 [RFC2616] und enthält die delta-seconds-Regel aus dieser Spezifikation.