--- title: Cache-Control slug: Web/HTTP/Headers/Cache-Control tags: - Allgemeine Header - HTTP - HTTP-Header - Referenz translation_of: Web/HTTP/Headers/Cache-Control ---
Das allgemeine Header-Feld Cache-Control
wird benutzt um Direktiven für Caching-Mechanismen, sowohl für Requests als auch für Responses, zu spezifizieren. Caching-Direktiven sind unidirektional, das bedeutet dass eine Direktive in einem Request nicht impliziert, dass die gleiche Direktive auch in einem Response zurückkommen muss.
Header type | {{Glossary("General header")}} |
---|---|
{{Glossary("Forbidden header name")}} | nein |
{{Glossary("Simple response header", "CORS-safelisted response-header")}} | ja |
Die Direktiven beachten Groß- und Kleinschreibung und haben optionale Argumente, die sowohl Token-Syntax als auch Zeichenketten mit Anführungszeichen verwenden. Mehrere Direktiven werden kommasepariert.
Standard Cache-Control
Direktiven, die vom Client in einem HTTP Request verwendet werden können.
Cache-Control: max-age=<seconds> Cache-Control: max-stale[=<seconds>] Cache-Control: min-fresh=<seconds> Cache-Control: no-cache Cache-Control: no-store Cache-Control: no-transform Cache-Control: only-if-cached
Standard Cache-Control
Direktiven, die vom Server in einer HTTP Response 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=<seconds> Cache-Control: s-maxage=<seconds>
Cache-Control
DirektivenErweiterungs Cache-Control
Direktiven sind nicht Teil des Kern HTTP Caching Standard-Dokuments. Prüfen Sie die Unterstützung in der Kompatibilitätstabelle.
Cache-Control: immutable Cache-Control: stale-while-revalidate=<seconds> Cache-Control: stale-if-error=<seconds>
public
private
no-cache
only-if-cached
max-age=<seconds>
Expires
, ist diese Direktive relativ zum Zeitpunkt des Requests.s-maxage=<seconds>
max-age
oder den Expires
Header, bezieht sich allerdings nur auf geteilte Caches (z.B. Proxyserver) und wird von einem privaten Cachen ignoriert.max-stale[=<seconds>]
min-fresh=<seconds>
stale-while-revalidate=<seconds>
{{experimental_inline}}stale-if-error=<seconds>
{{experimental_inline}}must-revalidate
proxy-revalidate
must-revalidate
, aber bezieht sich nur auf geteilte Caches (z.B. Proxyserver) und wird von einem privaten Cache ignoriert.immutable
If-None-Match
oder If-Modified-Since
) , um auf Aktualisierungen zu prüfen Die Ressource . Clients, denen diese Erweiterung unbekannt ist, müssen sie nach der HTTP-Spezifikation ignorieren. In Firefox, immutable
wird nur bei https://
Transaktionen beachtet. Für mehr Informationen, siehe auch diesen Blogpost.no-store
no-transform
no-transform
Direktive verbietet dies.Um Caching abzuschalten können Sie den folgenden Response Header schicken. Beachten Sie ggf. zusätzlich die Expires
und Pragma
Header.
Cache-Control: no-cache, no-store, must-revalidate
Für die Dateien einer Anwendung, die sich nicht ändern werden, können Sie normalerweise aggressives Caching nutzen, indem Sie den untenstehenden Response-Header senden. Dies schließt statische Dateien ein, die von der Anwendung bereitgestellt werden, wie z.B. Bilder, CSS- und JavaScript-Dateien. Beachten Sie außerdem den Expires
Header.
Cache-Control: public, max-age=31536000
Specification | Title |
---|---|
{{RFC("7234")}} | Hypertext Transfer Protocol (HTTP/1.1): Caching |
{{RFC("5861")}} | HTTP Cache-Control Extensions for Stale Content |
{{RFC("8246")}} | HTTP Immutable Responses |
{{Compat("http.headers.Cache-Control")}}