Cache-Steuerung

Der Cache-Control-Parameter enthält Anweisungen zum Zwischenspeichern in Form von durch Kommas getrennten Direktiven. `max-age=60` gibt an, dass die Antwort eine Minute lang aktuell ist; `no-store` verbietet das Speichern vollständig; `private` erlaubt nur dem Browser des Nutzers, die Antwort zu speichern; `public` ermöglicht gemeinsam genutzte Caches; `no-cache` erlaubt das Speichern, erfordert aber vor jeder Wiederverwendung eine erneute Validierung.

So funktioniert es

Ein Cache liefert eine aktuelle Antwort, ohne den Server zu kontaktieren. Sobald die Antwort veraltet ist, wird der Cache mit einer bedingten Anfrage – einer If-None-Match-Anfrage mit dem gespeicherten ETag – neu validiert. Der Server antwortet mit dem Statuscode 304 Not Modified, falls sich nichts geändert hat, und speichert den Antworttext. s-maxage definiert eine separate Lebensdauer für gemeinsam genutzte Caches wie CDNs.

Das Missverständnis

„no-cache“ bedeutet "do not cache" . Es bedeutet: "check with me before using a cached copy" Die Direktive, die das Speichern verbietet, ist „no-store“. Werden diese beiden Direktiven verwechselt, gelangen entweder private Daten in gemeinsam genutzte Caches oder sichere Zwischenspeicherungen werden ungültig.

Probieren Sie es hier aus

GET /football/v1/standings und GET /bank/v1/exchange-rates senden beide Cache-Control mit einem ETag; wiederholen Sie die Anfrage mit If-None-Match, das auf diesen ETag gesetzt ist, und Sie erhalten eine körperlose 304-Antwort.

Quellen

Weitere Begriffe

Diese Seite auf Englisch lesen

Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs

Zuletzt aktualisiert