Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  PHP & HTTP
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet



 

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");
// Speziel für MSIE 5  
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");   
?>




Microsoft Internet Explorer Problematik

Leider werden Pragma und no-cache im IE nicht Interpretiert – hier gibt es drei Befehle auf die Sie jedoch zurückgreifen können:
• No-Check - Besagt das der Client kein Cachekontrolle durchführen soll. Anderes ausgedrückt, es wird gecached aber nie Aktualisiert!
• Post-Check - Der Client vergleicht den Browsercache mit der Seite nach einer vorgegebenen Zeit (interval expires) Wenn nicht angegeben dann Aktiv und wird vom Browser selbst Verwaltet.
• 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.

Wie Sie sehen liegt, die einzige Möglichkeit darin das Problem zu umgehen und den Cache des IE zu deaktivieren oder Besser gesagt ihm zu untersagen diese Seiten zu cachen! Dies kann sowohl via PHP oder 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 mit Hilfe der time()-Funktion erreichen.


Beispiel



<?php
$zeit
= time();
echo
"<a href = www.atomiscript.de/index.php?zufall=$zeit>AtomicScript</a>";
?>




 


Cache-Control
 






© 2001-2005 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de