Sven Rautenberg: header mit php - 1.0 oder 1.1 oder sonderschreibweise

Beitrag lesen

Moin!

P.S.: http://de.php.net/manual/de/function.header.php#85146
Hier wird bei 304 wirklich kein Inhalt mehr ausgegeben und mit exit; abgebrochen.

Wobei ich das vorgehen noch nicht ganz verstehe.

Eine Statusantwort 304 darf keinen Inhalt enthalten, sondern besteht nur aus den HTTP-Headern.

Was genau steht im ETag?

Irgendeine von dir konstruierte Zeichenkette, die den Anforderungen an "opaque-tag" genügt.

Die Zeichenfolge sollte geeignet sein, dir eine Identifikation der gesendeten Ressource zu ermöglichen, zumindest aber den Vergleich, ob die beim Client befindliche Ressource identisch mit der mittlerweile auf dem Server gespeicherten ist, oder nicht.

Und $_SERVER['HTTP_IF_MODIFIED_SINCE'] wird mit der wirklich letzen Änderungszeit verglichen, wobei HTTP_IF_MODIFIED_SINCE der Wert ist, den der Client bei einem Aufruf zuvor erhalten hatte?

Du hast im Prinzip alle Freiheiten, beliebige Datumsvergleiche durchzuführen, und auch beliebige Zeiten zu senden - aber für eine Implementierung analog zum üblichen Serververhalten wäre es schlau, sich an diesem Schema zu orientieren: Statische Dateien werden mit dem Änderungsdatum der Datei als "Last-Modified" ausgeliefert, und dieses Datum wird auch zum Vergleich gegen "If-Modified-Since" herangezogen.

- Sven Rautenberg

--
"Love your nation - respect the others."