2013-03-14 17 views
5

Was ist der Unterschied zwischen einer HTTP-Antwort mit Cache-Control: no-cache vs Cache-Control: max-age=0, must-revalidate, proxy-revalidate?"Kein Cache" vs "Max-Alter = 0, muss-Revalidierung, Proxy-Revalidierung"

Behandeln Browser das wie identisch?

+1

semantisch; nicht viel. Es ist jedoch kürzer. –

+1

@MarkNottingham. Hält das auch in der * realen Welt *? Behandeln Browser sie wirklich als * identisch *? – Pacerier

+0

Ich habe schon lange nicht mehr getestet, aber ich glaube schon. –

Antwort

2

Im Allgemeinen verhalten sich verschiedene Browser nicht genau gleich. HTTP-Cache-Header

Ein kleiner Unterschied Ich erinnere mich (kann die Quelle nicht finden, so dass ich nicht 100% dieser Beschreibung genaue Verhalten ist) ist, dass Chrome (afair) behandeln max-age=0, als ob Sie max-age=10 angegeben (das Verhalten Differenz unter der Annahme, klein genug, aber Performance-Einfluss ist immer noch sinnvoll).

In jedem Fall sind hier einige weitere Beispiele für HTTP-Cache-Verhalten Unterschied zwischen den Browsern:

  • Einige Vorzug geben wird 1.0 Cache-Header (Pragma) auf HTTP, andere Präferenz 1.1 Cache-Header HTTP geben
  • Einige Browser (FF +?) don't honorno-store Richtlinie und speichern Daten in verschlüsselter Cache
  • Einige Browser ignorieren no-cache Direktive nach public angegeben, andere nicht.
  • IE ignoresmax-age wenn vary vorhanden ist.
  • usw.

Meine allgemeine Empfehlung wäre die Verwendung sowohl Cache-Control: no-cache, must-revalidate, proxy-revalidate, pragma: no-cache (HTTP 1.0) und Expires: 0 um alle Browser, um sicherzustellen, nicht den Inhalt mit diesen Header zwischenzuspeichern.

+0

Wie haben Sie die Informationen erhalten, dass Chrome behandeln max -age = 0', als ob wir 'max-age = 10' angegeben hätten? – Pacerier

+0

Ich erinnere mich daran, aber ich kann die Quelle nicht finden. Ich werde die Antwort mit einer Reservierung aktualisieren, bis ich eine richtige Quelle finde. In jedem Fall: Ich kann eine Reihe weiterer Beispiele von Browsern mitbringen, die sich nicht gleich verhalten. HTTP-Cache-Header –