Wie kann ich verhindern, dass eine Seite vom Browser gecacht wird?
Es gibt mehrere META Tags die dem Browser „die Empfehlung“ geben nicht zu cachen.
In jedem Fall liegt es dann aber am Browser wie er mit diesen Empfehlungen umgeht. Unter Umständen liegt es auch daran, wie der Browser in Bezug auf Caching konfiguriert ist.
Wenn Du versuchen möchtest Clientseitiges Caching zu verhindern, dann kannst Du dem HTML Code meistens folgende META Tags mitgeben:
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="0" />
Die Tags sollten am Besten in den Bereich zwischen <html> und <head> stehen.
Mit PHP hast Du die Möglichkeit, zwei weitere Tricks zu probieren. Du kannst dem HTTP Protokoll einige Header Informationen mitgeben, die ein Caching zu verhindern versuchen.
Dazu muss, bevor die erste HTML-Ausgabe an den Browser erfolgt ist, folgender Code aufgerufen werden (PHP Code):
header("Expires: ".gmdate("D, d M Y H:i:s")." GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Pragma: no-cache");
header("Cache-Control: post-check=0, pre-check=0", false);
Der zweite Trick wäre an jeden Link einen Zufallswert anzuhängen der aber nicht ausgewertet wird, z.B.: Link
Dadurch kann man dem Browser vorgaukeln, dass der Link neu ist (da er zu großer Wahrscheinlichkeit keine Cache Kopie mit genau diesem Zufallswert hat) und zeigt die nicht-gecachte Seite an.