Für eine Bildantwort, die über einen für HTTP sichtbaren gemeinsamen Cache läuft, veröffentlichen Sie eine ausdrückliche Lebensdauer und einen Validator. Wenn das Bild sicher zwischen Nutzern wiederverwendet werden kann, sind Beispiel-Antwortheader:

Cache-Control: public, max-age=604800
ETag: "image-v4"

Die Lebensdauer wird in Sekunden angegeben; 604800 entspricht einer Woche. Verwenden Sie public nur für Inhalte, die zur Wiederverwendung zwischen Nutzern gedacht sind.

Wenn Browser und gemeinsamer Proxy unterschiedliche Lebensdauern benötigen, legt s-maxage die Lebensdauer des gemeinsamen Caches fest. Beispielsweise gibt max-age=3600 mit s-maxage=604800 dem gemeinsamen Cache die längere Frischeperiode.

Expires ist ein Datum, keine Dauer

Expires nimmt einen Zeitstempel im HTTP-Datumsformat. max-age überschreibt dieses Feld, und s-maxage hat bei gemeinsamen Caches Vorrang. Erzeugen Sie jedes Expires-Datum beim Erstellen der Antwort.

Ein Neuladen kann eine Validierung anfordern

Eine Anfrage mit Cache-Control: no-cache verlangt eine erfolgreiche Validierung beim Ursprung, bevor eine gespeicherte Antwort wiederverwendet wird. Das kann auch dann geschehen, wenn die gewöhnliche Frischeregel der Antwort eine Wiederverwendung sonst erlauben würde.

Der Validator ermöglicht dem Cache, ein unverändertes Bild effizient zu prüfen. Eine 304-Antwort kann die gespeicherte Darstellung bestätigen, ohne die Bildbytes erneut vom Ursprung zu übertragen. Datenverkehr zum Ursprung bedeutet daher für sich genommen nicht, dass das zwischengespeicherte Objekt verworfen wurde.

Vergleichen Sie normale Wiederverwendung und ausdrückliche Neuladevorgänge, wenn Sie die Richtlinie prüfen.

Ähnliche Artikel