Robert: +(PHP) Pragma/Cache-Control Header von PHP überschreiben

Beitrag lesen

Hallöle,

bei meinen PHP-Scripts werden automatisch unter anderem diese HTTP-Header in die Response gesetzt:

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Expires: Thu, 19 Nov 1981 08:52:00 GMT

Diese will ich aber in einem speziellen Fall nicht haben (bzw. mit anderen Werten).

Ich will das Cachen bis zu 24 Stunden erlauben.
Ok, also setze ich meinen eigenen expires-Header:

header("Expires: ".gmdate("D, d M Y H:i:s",time()+3600*24)." GMT");

Ist ja kein Thema - jetzt kommt beim Client das richtige Datum an.

Aber: dank der anderen beiden Header (Cache-Control und Pragma) bekomme ich immer noch den Hinweis, daß die Seite POST-Daten enthält, die abgelaufen seien.

Zu Testzwecken hab ich dann mal noch

header("Cache-Control: ");
header("Pragma: ");

eingesetzt, um die zwei zu überschreiben.
Tatsächlich kommen jetzt beim Client diese beiden Header nicht mehr an.

Und die von mir getesteten Browser (Firefox 1.0.4, Opera 8.0, IE 6 SP1) bringen auch die Meldung nicht mehr.

Wie ist das bei anderen Browsern?
Und ist das mit den leeren Headern überhaupt die korrekte Vorgehensweise?

Oder gibt es für diese Header Werte, die explizit das Cachen erlauben? Beim Googlen find ich immer nur Werte, die das Cachen unterdrücken.

cu,
Robert