GET, POST und Caching: Kanns mir jemand erklären?
Oliver
- https
0 Oliver1 Vinzenz Mai
Hallo ihr,
ich hab da grad bei meiner Webapplikation folgendes "komisches" Verhalten festgestellt:
Wieso ist das so??? Schalte ich den Cache ab (z.B. via Webdeveloper Toolbar) findet auch bei GET jedes Mal ein Roundtrip statt...
Achso, ich glaub zwar dass es irrelevant ist, aber bei meinen Requests handelt es sich um XMLHttpRequests.
Vielen Dank im Voraus für eure Erklärungen.
Oliver
Ahhh, folgendes hab ich grad im Netz gelesen: "...some browsers cache GET requests via XMLHttpRequest..." - alles klar, warum auch immer.
Hallo Oliver,
ein paar Zitate aus RFC2616:
- Sende ich zum zweiten Mal eine GET-Anfrage an exakt dieselbe URL, wird (logischerweise) beim zweiten Mal die Seite ausm Cache gezeigt und es findet kein Roundtrip zum Sever statt.
The response to a GET request is cacheable if and only if it meets
the requirements for HTTP caching described in section 13.
- Sende ich aber hintereinander zwei POST-Requests mit gleichen Parameter an exakt dieselbe URL, findet jedes Mal ein Roundtrip zum Server statt, der mir eine neue Seite generiert.
Responses to this method are not cacheable, unless the response
includes appropriate Cache-Control or Expires header fields. However,
the 303 (See Other) response can be used to direct the user agent to
retrieve a cacheable resource.
Vielleicht hilft Dir das ja weiter ...
Freundliche Grüße
Vinzenz
Vielleicht hilft Dir das ja weiter ...
Wow, das ist natürlich ein wenig fundierter. Klasse, danke.
Ich häng jetzt eben einfach an jeden GET-Request ne UniqueID an, dann klappts. Oder gibts da ne bessere Möglichkeit???
mfg, Oliver
Moin!
Ich häng jetzt eben einfach an jeden GET-Request ne UniqueID an, dann klappts. Oder gibts da ne bessere Möglichkeit???
Natürlich gibt es die. Schicke passende Cache-Header von Server aus mit, die Caching verbieten. Dafür sind die schließlich da.
- Sven Rautenberg