Aqua: *Korrekter* Weg für CACHE-Verhinderung gesucht

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

  1. 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?

    1. 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

      1. 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

        1. [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

  2. 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

  3. 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

    1. 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

      1. 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

        1. 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

        2. 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

          --
          T'Pol: I apologize if I acted inappropriately.
          V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
          (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
          Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
  4. Hallo!

    Dankeschön für die Antworten!

    Aqua