Expires
Verwendung
Der Expires-Header liefert einen absoluten Zeitstempel, der angibt, wann eine zwischengespeicherte Antwort ihre Frische verliert. Caches vergleichen diesen Zeitstempel mit der aktuellen Zeit, um zu entscheiden, ob die gespeicherte Kopie noch verwendbar ist.
Die Cache-Control-Direktive max-age hat Vorrang vor Expires, wenn beide vorhanden sind. Da max-age einen relativen Sekundenwert statt eines absoluten Datums verwendet, vermeidet die Direktive Probleme durch Uhrzeitabweichungen zwischen Servern und Caches. Moderne Caching-Richtlinien stützen sich auf Cache-Control als primären Frischemechanismus, wobei Expires als Rückfalloption für ältere Caches ohne max-age-Unterstützung dient.
Ein Wert von 0 oder ein ungültiges Datum signalisiert, dass die Antwort bereits veraltet ist. Caches behandeln den Eintrag sofort als abgelaufen und erzwingen damit bei der nächsten Anfrage eine Neuvalidierung oder einen frischen Abruf.
Der Zeitstempel folgt demselben IMF-fixdate-Format, das auch der Date-Header verwendet:
Expires: <day-name>, <day> <month> <year>
<hour>:<minute>:<second> GMT
Hinweis
Ist Cache-Control: max-age in derselben Antwort vorhanden, wird der Expires-Wert ignoriert. Bevorzugen Sie max-age für neue Implementierungen.
Beispiel
Eine Antwort, die an einem Mittwoch um 08:00 UTC abläuft. Jeder Cache, der diese Antwort nach dem angegebenen Zeitpunkt vorhält, behandelt die Kopie als veraltet.
Expires: Wed, 04 Jun 2025 08:00:00 GMT
Eine Antwort, die als bereits abgelaufen gekennzeichnet ist. Den Wert auf 0 zu setzen zwingt Caches, bei jeder Anfrage neu zu validieren.
Expires: 0
Ein Expires-Header, der aus Gründen der Abwärtskompatibilität mit Cache-Control kombiniert wird. Die max-age-Direktive hat Vorrang und gibt der Antwort unabhängig vom Expires-Zeitstempel eine Frischedauer von einer Stunde.
Cache-Control: max-age=3600
Expires: Thu, 01 Jan 1970 00:00:00 GMT