Beat: Opera und Cache-Control

Opera scheint nicht alle HTTP Empfehlungen zu passieren.

http://www.procata.com/cachetest/

Hintergrund:
Wenn ich die Session wechsle bei meinem Aplikationstest kommt es zu einem Durcheinander. Sprich, ich bekomme für die neue Session veraltete Seiten.

Bisher habe ich nichts gesendet, kein Cache-Control, kein Expires und kein Max-Age.

Meine Abhilfe besteht nun darin auf dem Server zu entscheiden, wann eine Seite nicht gecacht werden darf.
Falls eine solche Seite vorliegt (Sie hat entweder einen Query String oder sendet Post Daten) schicke ich ein

Expires -1

Ist das ein gutes Rezept, oder sollte ich was schlaueres verwenden?

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische
  1. Hi,

    http://www.procata.com/cachetest/

    Hintergrund:
    Wenn ich die Session wechsle bei meinem Aplikationstest kommt es zu einem Durcheinander. Sprich, ich bekomme für die neue Session veraltete Seiten.

    Bisher habe ich nichts gesendet, kein Cache-Control, kein Expires und kein Max-Age.

    Da sagt mir der Aufruf der angegebeben Adresse mit dem Web-Sniffer aber was anderes:

    Expires: Thu, 01 Dec 1994 16:00:00 GMT
    Cache-Control: max-age=0

    Meine Abhilfe besteht nun darin auf dem Server zu entscheiden, wann eine Seite nicht gecacht werden darf.

    Ja, wo denn auch sonst?

    Falls eine solche Seite vorliegt (Sie hat entweder einen Query String oder sendet Post Daten) schicke ich ein

    Expires -1

    Ist das ein gutes Rezept, oder sollte ich was schlaueres verwenden?

    Kommt drauf an, was du brauchst.

    Wenn du vor der ersten Auslieferung einer Ressource bereits weisst, dass sie nie gecached werden soll - dann würde ich es mit entsprechenden Angaben versuchen (bspw. no-cache, must-revalidate).

    Wenn da aber auch für ein und die selbe Ressource mal so, mal so sein kann - dann wäre es vielleicht günstiger, eher mit Last-Modified-Header und Reaktion auf If-Modified-Since in den Requests zu arbeiten.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. http://www.procata.com/cachetest/

      ...

      Bisher habe ich nichts gesendet, kein Cache-Control, kein Expires und kein Max-Age.

      Da sagt mir der Aufruf der angegebeben Adresse mit dem Web-Sniffer aber was anderes:

      Expires: Thu, 01 Dec 1994 16:00:00 GMT
      Cache-Control: max-age=0

      Tja. Das ist leider nicht mein Server. Das ist lediglich die Seite, wo ich meine Erfahrung mit dem Opera etwas objektiviert habe.

      Wenn du vor der ersten Auslieferung einer Ressource bereits weisst, dass sie nie gecached werden soll - dann würde ich es mit entsprechenden Angaben versuchen (bspw. no-cache, must-revalidate).

      Wenn da aber auch für ein und die selbe Ressource mal so, mal so sein kann - dann wäre es vielleicht günstiger, eher mit Last-Modified-Header und Reaktion auf If-Modified-Since in den Requests zu arbeiten.

      Da ist sich hier um die Admin-Sektion handelt mit stark aktualisierbaren Daten, denke ich, dass so eine verfeinerte Abfrage nicht notwendig ist.
      Zumindest nicht auf der Applikationsebene.

      Bei den _öffentlichen_ Seiten unterschiedet sich die GUI eigentlich nur bezüglich dem Login Block (Login Formuklar oder Logout Button)

      Hier werde ich wohl innerhalb der .htaccess einen geeigneten Max-Age Wert wählen.
      Es wird für mich nicht einfach möglich sein, aufgrund eines Timestamps zu reagieren.

      mfg Beat

      --
      Woran ich arbeite:
      X-Torah
      ><o(((°>           ><o(((°>
         <°)))o><                     ><o(((°>o
      Der Valigator leibt diese Fische