Wie kann ich verhindern, das 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 ich versuche Clientseitiges Caching zu verhindern, dann gebe ich dem HTML Code meistens folgende META Tags mit:

<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 hat man die Möglichkeit, zwei weitere Tricks zu probieren. Man kann 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 denkt der Browser, 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.

  • 26. Juli 2013

  • o.graeber

  • Keinen Kommentar


Kommentar abgeben

Sie müssen eingeloggt sein um zu kommentieren.