HTTP-Header-Feld: „Verfallsdatum“

Gumbo

Erfahrenes Mitglied
HTTP Header: „Verfallsdatum“

Zur Vervollständigung von Dokumenteinformationen sende ich HTTP Header mit verschiedenen Informationen. Mitunter das „Verfallsdatum“ des Dokuments:
PHP:
header('Expires: '.gmdate('D, d M Y H:i:s', time()+10800).' GMT');

Die Kurriosität ist nun, dass das „Verfallsdatum“ auf lokalen Webseiten in dem Seiteninformationen-Fenster des Firefox korrekt angezeigt wird, auf Webseiten die auf meinem entfernten Webserver wird es als „nicht spezifiziert“ angezeigt.

Hat jemand eine Idee, woran das liegen kann?
 
Seltsam... also bei mir wird im Firefox immer richtig angezeigt, egal wo das Script liegt. Kannst du mal die URL zu einem Testscript angeben, damit wir das nachvollziehen können?
 
Hm, ich habe erst einmal ein Testscript geschrieben, doch seltsamerweise funktioniert es dort wie erwartet.
Nun also zum „Problemkind“. Manuell werden die selben HTTP Header versandt.

Mit dem Web Developer Toolbar können die Response Header aufgelistet werden. Folgende HTTP Header wurden für beide Seiten gesendet:

Response Headers - http://www.fah-q.org/test.php
Code:
Date: Tue, 07 Sep 2004 19:41:58 GMT
X-Powered-By: PHP/4.1.2
Last-Modified: Tue, 07 Sep 2004 19:41:58 GMT
Expires: Tue, 07 Sep 2004 22:41:58 GMT
Content-Description: PHP generated Data from Apache/1.3.26 Server at www.fah-q.org Port 80
Keep-Alive: timeout=15, max=999
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/xhtml+xml; charset=utf-8
Response Headers - http://www.fah-q.org/www/
Code:
Date: Tue, 07 Sep 2004 19:44:12 GMT
X-Powered-By: PHP/4.1.2
Expires: Tue, 07 Sep 2004 22:44:12 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Last-Modified: Tue, 07 Sep 2004 19:44:12 GMT
Content-Description: PHP generated Data from Apache/1.3.26 Server at www.fah-q.org Port 80
Keep-Alive: timeout=15, max=995
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/xhtml+xml; charset=utf-8

Hat das möglicherweise etwas mit der Cache-Kontrolle zu tun?
 
Ich habe das Problem lösen können.

Dem Anschein nach waren die Cache-Kontroll-Header für die inkorrekte Angabe des „Verfallsdatums“ schuld. Durch das Senden von den entsprechenden HTTP Header mit leeren Werten:
PHP:
header('Cache-Control: ');
header('Pragma: ');
hab ich das Problem lösen können.

Ob und in wie weit sich diese Änderung jedoch auf die Nutzbarkeit auswirkt, weiß ich bisher noch nicht.
 
Zurück