Christian Seiler: Frage zu "expires" im Header

Beitrag lesen

Hallo Martin,

Insbesondere weiß ich nicht ob die Angabe im Header
<meta http-equiv="expires" content="aktuelles Datum">
die gewünschte Wirkung hat.

Das kommt drauf an. Erstens darauf, ob der Browser/Proxy diese Empfehlungen überhaupt berücksichtigt (muss er nämlich nicht). Zweitens darauf, ob im HTTP-Header eventuell Headerzeilen mit dem gleichen Schlüssel gesendet werden, die haben dann nämlich Vorrang.

Mein Firefox zumindest ignoriert die Meta-Tags vollständig - d.h. wenn keine HTTP-Header geschickt werden, aber ein Meta-Tag mit http-equiv="expires" in der HTML-Datei steht, dann tut Firefox so, als ob es den Tag gar nicht gäbe.

Ferner: Selbst wenn das in _irgendeinem_ Browser funktionieren sollte, schreibt der HTTP-Standard dennoch ein gewisses Datumsformat vor, d.h. content="0" wird *nicht* funktionieren, außer die programmierer des Browsers waren *sehr* lasch, was das Zulassen von Eingaben funktioniert.

Drittens: Ein eventuell vorhandener Cache-Control-Header (HTTP 1.1) hat Vorrang vor dem Expires-Header (d.h. der Expires-Header (HTTP 1.0) wird komplett ignoriert, sofern Cache-Control angegeben wurde).

Beim Apache gibt's das Modul mod_expires, mit dem man richtige HTTP-Header mit den Resourcen mitsenden kann (mod_expires schickt sowohl Cache-Control als auch Expires), damit kann man dann wirkliche Cache-Empfehlungen abgeben. Aber wie Du bereits sagtest: Es sind nur Empfehlungen.

Viele Grüße,
Christian

--
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup