Reth: IE6 cached trotz (fast) aller Gegenmassnahmen

Hallo allerseits,

ich weiß, dass Thema wurde schon einige Male besprochen, dennoch funktionieren die präsentierten Lösungen bei mir nicht.

Ich trage in meinen Seiten folgende meta-Tags ein:

<meta http-equiv="cache-control" content="no-cache, must-revalidate, max-age=0">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="-1">
<meta http-equiv="Last-Modified" content="Tue, 15 Nov 1994 12:45:26 GMT">

(habs auch schon mit expires content="0" versucht - auch erfolglos).

Zusätzlich setze ich noch den Last-Modified Header meiner Responses mittels Java auf den momentanen Zeitstempel!

Es hilft alles nix, beim 2. Zugriff auf eine Seite holt sich der IE6 die Sachen ausm Cache (man bin ich wütend auf das Teil!)!
Es handelt sich hierbei um einen Struts-Action-Aufruf, dem ein Schlüsselparameter übergeben wird. Bei jedem 2. Aufruf mit genau gleichem Schlüsselparameter nimmt der IE die Seite ausm Cache!

Mach ich noch irgendwas falsch?

Die letzte mir als bekannt funktionierende Möglichkeit, die ich eigentlich vermeiden möchte, wäre alle Requests mit nem Zeitstempel zu versehen, so dass der IE denkt, dass es sich immer um einen neuen Request handelt!

Das möchte ich eigentlich vermeiden! Wozu gibts denn die ganzen anderen Anweisungen!

Vielen Dank schon einmal
Ciao

  1. Nachtrag:

    Habs mit dem Last-Modified als meta Tag probiert und mit setzen desselben in der Response!

    Wie gesagt alles erfolglos!

    Ciao

  2. Yerf!

    Ich trage in meinen Seiten folgende meta-Tags ein:

    <meta http-equiv="cache-control" content="no-cache, must-revalidate, max-age=0">
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="expires" content="-1">
    <meta http-equiv="Last-Modified" content="Tue, 15 Nov 1994 12:45:26 GMT">

    Das Problem hatte ich auch schon. Der IE scheint die Meta-Angaben gekonnt zu ignorieren.

    Zusätzlich setze ich noch den Last-Modified Header meiner Responses mittels Java auf den momentanen Zeitstempel!

    Setze die anderen Header ebenfalls am Response. Danach sollte die Seite auch nicht mehr im IE Cache auftauchen (kann man sich ja anzeigen lassen, was da alles drinn liegt).

    Gruß,

    Harlequin

    1. Yerf!

      Genau!

      Setze die anderen Header ebenfalls am Response. Danach sollte die Seite auch nicht mehr im IE Cache auftauchen (kann man sich ja anzeigen lassen, was da alles drinn liegt).

      Hat leider auch nicht geholfen. Setze nun die meta-Angaben zusätzlich in den Response-Header. Leider ohne Erfolg!

      Ciao

      1. Yerf!

        Hat leider auch nicht geholfen. Setze nun die meta-Angaben zusätzlich in den Response-Header. Leider ohne Erfolg!

        Hm, komisch. Nachdem ich cache-control:no-cache und pragma:no-cache im HTTP-Header hatte, war im Cache vom IE nichts mehr von meinen Seiten zu finden.

        Hm, den Cache vom IE schon mal geleert? Nicht das die alte Version die da noch drinnen liegt Ärger macht.

        Gruß,

        Harlequin

        1. Hm, komisch. Nachdem ich cache-control:no-cache und pragma:no-cache im HTTP-Header hatte, war im Cache vom IE nichts mehr von meinen Seiten zu finden.

          Hm, den Cache vom IE schon mal geleert? Nicht das die alte Version die da noch drinnen liegt Ärger macht.

          Den IE Cache hab ich mir noch nicht angeschaut, aber ich hab dem IE wohl unrecht getan, da in diesem Fall der Apache der Übeltäter zu sein scheint!

          Ich setze die Response-Header in einem Servlet Filter. Dies hab ich bisher erst nach dem Abarbeiten der FilterChain getan, da ich davon ausging, dass das dem Client egal sein müsste (dem Apache ja eigentlich auch). Das Ergebnis war, dass bei mehrmaligem Aufrufen derselben Aktion ab dem 2. Aufruf die Antwort gecached kam und gar nicht mehr in meine Anwendung gegangen wurde.
          Nun habe ich die Response-Header vor dem Abarbeiten der Filter-Chain gesetzt und siehe da: Es funktioniert!
          Wenn ich beide Varianten direkt auf dem Tomcat (also mit IE6, aber ohne Apache) getestet habe, bekam ich immer ne aktualisierte Antwort, egal, ob ich die Header vor oder nach der FilterChain gesetzt habe!

          Man da passieren immer Sachen, die man sich wenn überhaupt nur dann erklären kann, wenn man alle beteiligten Komponenten in- und auswendig kennt!

          Ciao

  3. Tag,

    Es hilft alles nix, beim 2. Zugriff auf eine Seite holt sich der IE6 die Sachen ausm Cache (man bin ich wütend auf das Teil!)!
    Es handelt sich hierbei um einen Struts-Action-Aufruf, dem ein Schlüsselparameter übergeben wird. Bei jedem 2. Aufruf mit genau gleichem Schlüsselparameter nimmt der IE die Seite ausm Cache!

    Mach ich noch irgendwas falsch?

    Überprüfe doch mal bitte Deine Cache-Einstellungen im IE.
    Dort gibt es folgende Optionen für

    Neuere Versionen deer gespeicherten Seiten suchen:
    * Bei jedem Zugriff auf die Seite
    * Bei jedem Start vom Internet Explorer
    * Automatisch
    * Nie

    Hier sollte automatisch eingestellt sein.
    Andererseits kann es natürlich auch sein, daß nicht der IE das Zeug aus dem Cache holt, sondern ein möglicher Proxy. Benutzt Du einen Proxy?

    Grüße,
    Steffen.