:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Cachen vermeiden |
Sie haben auch die Möglichkeit, das Cachen einer Seite explizit zu unterbinden:
<?php
// Datum aus Vergangenheit
header("Expires: Mon, 12 Jul 1995 05:00:00 GMT");
// Immer geändert
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
// Speziell für MSIE 5
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
Problematik mit Internet Explorer
Leider werden Pragma und no-cache im IE nicht interpretiert – hier gibt es drei Befehle, auf die Sie zurückgreifen können:
- No-Check – Besagt, dass der Client keine Cachekontrolle durchführen soll. Anders ausgedrückt, es wird gecacht, aber nie aktualisiert!
- Post-Check – Der Client vergleicht den Browsercache mit der Seite nach einer vorgegebenen Zeit (interval expires). Wenn nichts angegeben wird, übernimmt der Browser selbst die Verwaltung.
- Pre-Check – Der Browser fragt die Webseite auf die letzte Aktualisierung ab und vergleicht bei einem Unterschied den Cache mit der Seite. Es wird die Zeit der letzten Änderung genommen, also das Datum der Datei.
Die einzige Möglichkeit, das Problem zu umgehen, liegt darin, den Cache des IE zu deaktivieren oder ihm zu untersagen, diese Seiten zu cachen! Dies kann sowohl via PHP als auch HTML erfolgen:
PHP
header("Cache-Control: post-check=0, pre-check=0", FALSE);
HTML
<meta http-equiv="Cache-Control" content="post-check=0">
<meta http-equiv="Cache-Control" content="pre-check=0">
Cachen vermeiden via GET-Parameter
Eine Alternative zum Header ist das Anhängen von Parametern an die URL einer Seite.
Beispiel
// URL
www.atomiscript.de/index.php
// Alternative
www.atomiscript.de/index.php?zufall=xxx
Sie müssen lediglich sicherstellen, dass xxx immer etwas anderes ist. Dies lässt sich beispielsweise mithilfe der time()-Funktion erreichen.
Beispiel
<?php
$zeit = time();
echo "<a href = www.atomiscript.de/index.php?zufall=$zeit>AtomicScript</a>";
?>
|
|
|
|
|
|