*Korrekter* Weg für CACHE-Verhinderung gesucht
Aqua
- html
Hallo Leute
n HTML will ich den Cache des BROWSERS verhindern,
da meine Seite statisch gebildet wird und oft upgedated wird.
Bei den META-Angaben die Selfhtml erklaert ist nichts davon zu finden.
http://selfhtml.teamone.de/html/kopfdaten/meta.htm#diverse
Nur gaaaanz unten im Bereich der
"Erfindungen von Leuten, die an magische Kräfte in ihren HTML-Dateien glauben"
Daher trau ich mich das dort eben nicht zu verwenden (weil Zaubern kann HTML nicht *g*)
Was soll ich nun also verwenden damit nichts gecacht wird?
Danke! ;o)
Aquariophile
Wichtig:
Mir hat wer gesteckt dass MSIE in irgendeiner Version eine
extra Klasse definiert hat für das Verhindern von Cache,
muss ich die extra/zusaetzlich angeben?
Wie geht das?
Und wie geht es in allen anderen Browsern ausser IE?
Nie gehört. Halte ich für Unsinn oder zumindest inkompatibel. Was ist überhaupt mit "Klasse" gemeint? CSS etwa? Würde mich wundern, wenn das etwas mit dem Cache zu tun hat. Oder ein bestimmtes ActiveX Objekt? Klingt auch ... äh ... ungut.
-- d. Mwv
Wie wärs mit ein bisschen Php?
header("Pragma: no-cache");
header("Expires: 0");
header("Cache-control: no-cache,must-revalidate,no-store");
Gruß,
chris
[quote]
n HTML will ich den Cache des BROWSERS verhindern,
da meine Seite statisch gebildet wird und oft upgedated wird.
[/quote]
=> kein PHP
-- d. Mwv
Theoretisch sollte schon eine der folgenden Anweisungen reichen:
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
Da aber jeder Browser unterschiedlich, wenn überhaupt interpretiert, sollte man beide und eventuell noch folgende schreiben:
<meta http-equiv="expires" content="friday, 31-dec-99 23:59:59 gmt">
Natürlich ist es Sache des Browsers und seiner Konfiguration das überhaupt zu beachten. Nach meiner Erfahrung ignoriert vor allem Opera gerne sämtliche Cache-Anweisungen und speichert einfach alles zwischen - sehr unangenehm vor allem bei Session-basierten Loginbereichen. Daher wohl auch die Anspielung auf "magische Fähigkeiten" - nämlich den Browser dazu zu bewegen, das Gewünschte auch wirklich zu tun. Sicher kann man jedenfalls nie sein, was aus HTML (und Cacheanweisungen) auf der Clientseite wird.
-- d. Mwv
Hi,
dann machs so:
<meta http-equiv="expires" content="0">
Das bewirkt, dass die Seite immer direkt vom Server und nicht vom cache geladen wird.
Steht auch in SelfHTML.
Christian
Expires=0 sieht man oft und funktioniert auch meistens.
Trotzdem: Mir ist's schon untergekommen, dass bestimmte Browser hier nur korrekte Datums- und Zeitangaben annehmen und ansonsten die Direktive vollständig ignorieren.
-- d. Mwv
Expires=0 sieht man oft und funktioniert auch meistens.
Trotzdem: Mir ist's schon untergekommen, dass bestimmte Browser hier nur korrekte Datums- und Zeitangaben annehmen und ansonsten die Direktive vollständig ignorieren.
-- d. Mwv
Hi,
mag sein,
ich habs halt nur hier her, wo steht dass, wenn es kein Datumsformat, sondern nur Zahlen sind, die Anzahl der Sekunden gemeint ist:
http://selfhtml.teamone.de/html/kopfdaten/meta.htm#laden
Christian
Ist schon richtig, nur leider funktioniert's meiner Erfahrung nicht immer verlässlich.
Es wäre schön, wenn HTML Theorie in der Praxis tauglich wäre :-)
-- d. Mwv
Hi Christian,
ich habs halt nur hier her, wo steht dass, wenn es kein Datumsformat, sondern nur Zahlen sind, die Anzahl der Sekunden gemeint ist:
http://selfhtml.teamone.de/html/kopfdaten/meta.htm#laden
maßgeblich ist allerdings eher
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
, und der meint:
The format is an absolute date and time as defined by HTTP-date in section 3.3.1;
it MUST be in RFC 1123 date format:
Expires = "Expires" ":" HTTP-date
HTTP/1.1 clients and caches MUST treat other invalid date formats,
especially including the value "0", as in the past (i.e., "already expired").
Also im Klartext: "0" als Server zu senden, das ist falsch; aber "0" als Client nicht als "Vergangenheit" zu interpretieren, das ist auch falsch ...
Viele Grüße
Michael
Hallo!
Dankeschön für die Antworten!
Aqua