kleinen Fehler im HowTo zu mod_cache

TobWen

New Member
kleiner Fehler im HowTo zu mod_cache

Hallo HowTo-Leser,

ich habe einen kleinen, aber essentiellen Fehler in Falko Timme's HowTo zum Thema mod_cache gefunden:

Das Script in Kapitel 3 funktionierte bei mir nicht, es wurde nicht gecached.

Also habe ich mich auf Fehlersuche begeben. Anscheinend benötigt mod_cache die Angabe einer Ausgangs- oder Endzeit: Last-Modified oder Expires. Alternativ kann man aber auch in mod_cach's Config "CacheIgnoreNoLastMod" auf "on" setzen, damit der fehlende Header ignoriert und eine Zeit "ausgedacht" wird.

mod_cache reagiert in Verbindung mit "Cache-Control: must-revalidate" auf folgende Eintrage (und/oder):

  1. "Expires" in der Zukunft
  2. "Last-Modified" in der Vergangenheit
  3. "Etag" in der Vergangenheit
Daher hier mein Script:
PHP:
<?php
$reval_duration = 10;

$now = time();
$expiration_date = gmdate('D, d M Y H:i:s', $now + $reval_duration);
$last_modified = gmdate('D, d M Y H:i:s', $now);
$etag = md5($now);

header('Cache-Control: must-revalidate, max-age=' . $reval_duration);
header('Expires: ' . $expiration_date . ' GMT');
header('Vary: Accept-Encoding');
//header('Last-Modified: ' . $last_modified . ' GMT');
//header('Etag: ' . $etag);

printf("%s (now)<br>\n%s (expiration)", $last_modified,  $expiration_date);
?>
Viele Grüße
Tobias
 
Zuletzt bearbeitet:

Werbung

Top