Cache-Control
wird verwendet, um Direktiven für das Zwischenspeichern von Mechanismen
sowohl in Anforderungen als auch in Antworten anzugeben.
Caching-Direktiven sind unidirektional, was bedeutet,
dass eine bestimmte Direktive in einer Anforderung nicht impliziert,
dass dieselbe Direktive in der Antwort angegeben werden soll.
Teilt allen Caching-Mechanismen entlang der Abrufkette (z. B. Proxys) mit,
ob und wie lange das Objekt gespeichert werden darf (in sec).
Wird genutzt, um Optionen festzulegen,
denen durch alle Caching-Mechanismen
entlang der Anfrage-/Antwort-Kette Folge geleistet werden muss.
Beispiel:
Cache-Control no-cache, no-store, must-revalidate
Cache-Control max-age=604800
Cache-Control no-cache
Cache-Control privat
Standarddirektiven, die vom Client in einer HTTP-Anforderung verwendet werden können.
Cache-Control max-age=
Cache-Control max-stale[=]
Cache-Control min-fresh=
Cache-Control no-cache
Cache-Control no-store
Cache-Control no-transform
Cache-Control only-if-cached
Standarddirektiven, die vom Server in einer HTTP-Antwort verwendet werden können.
Cache-Control must-revalidate
Cache-Control no-cache
Cache-Control no-store
Cache-Control no-transform
Cache-Control public
Cache-Control private
Cache-Control proxy-revalidate
Cache-Control max-age=
Cache-Control s-maxage=
Erweiterungsdirektiven sind nicht Teil des Kerndokuments der HTTP-Caching-Standards.
Stellen Sie sicher, dass Sie die Kompatibilitätstabelle auf ihre Unterstützung überprüfen.
Cache-Control immutable
Cache-Control stale-while-revalidate=
Cache-Control stale-if-error=
public
Gibt an, dass die Antwort von einem beliebigen Cache zwischengespeichert werden kann.
private
Gibt an, dass die Antwort für einen einzelnen Benutzer bestimmt ist
und nicht in einem freigegebenen Cache gespeichert werden darf.
In einem privaten Cache kann die Antwort gespeichert werden.
no-cache
Zwingt Caches, die Anforderung zur Überprüfung an den Ursprungsserver zu senden,
bevor eine zwischengespeicherte Kopie freigegeben wird.
only-if-cached
Gibt an, dass keine neuen Daten abgerufen werden sollen.
Der Client möchte nur eine zwischengespeicherte Antwort erhalten
und sollte sich nicht an den Ursprungsserver wenden,
um zu sehen, ob eine neuere Kopie vorhanden ist. Ablauf
max-age=
Gibt an, wie lange eine Ressource maximal als aktuell betrachtet wird.
Im Gegensatz dazu bezieht sich diese Richtlinie auf den Zeitpunkt des Antrags. Expires
s-maxage=
Überschreibt den Header,
gilt aber nur für gemeinsam genutzte Caches (z. B. Proxys)
und wird von einem privaten Cache ignoriert. max-ageExpires
max-stale[=]
Gibt an, dass der Client bereit ist, eine Antwort zu akzeptieren,
deren Ablaufzeit überschritten wurde.
Optional können Sie einen Wert in Sekunden zuweisen,
der die Zeit angibt, bis zu der die Antwort nicht abgelaufen sein darf.
min-fresh=
Gibt an, dass der Client eine Antwort wünscht,
die noch mindestens für die angegebene Anzahl von Sekunden aktuell ist.
stale-while-revalidate=
stale-if-error=
Revalidierung und Neuladen
must-revalidate
Der Cache muss den Status der veralteten Ressourcen überprüfen,
bevor er verwendet wird, und abgelaufene Ressourcen sollten nicht verwendet werden.
proxy-revalidate
Identisch mit , aber es gilt nur für gemeinsam genutzte Caches (z. B. Proxys)
und wird von einem privaten Cache ignoriert.
must-revalidate
immutable
Gibt an, dass sich der Antworttext im Laufe der Zeit nicht ändert.
Wenn die Ressource nicht abgelaufen ist, bleibt sie auf dem Server unverändert,
und daher sollte der Client keine bedingte erneute Überprüfung für sie senden (z. oder ),
um nach Aktualisierungen zu suchen, auch wenn der Benutzer die Seite explizit aktualisiert.
Clients, die diese Erweiterung nicht kennen, müssen sie gemäß der HTTP-Spezifikation ignorieren.
In Firefox wird dies nur bei Transaktionen berücksichtigt.
Andere
no-store
Der Cache sollte nichts über die Clientanforderung oder die Serverantwort speichern.
no-transform
Es sollten keine Transformationen oder Konvertierungen an der Ressource vorgenommen werden.
Die Header Content-Encoding, Content-Range und Content-Type dürfen nicht von einem Proxy geändert werden.
Ein nicht transparenter Proxy kann z. B. zwischen Bildformaten konvertieren,
um Cache-Speicherplatz zu sparen oder die Menge des Datenverkehrs auf einer langsamen Verbindung zu reduzieren.
Die Richtlinie verbietet dies.