it-swarm.com.de

Was passiert, wenn Sie keinen Cache-Control-Header setzen?

Was passiert, wenn Sie den Header cache-control nicht setzen? Gibt HTTP ein Standardverhalten an, dem Clients folgen sollten, oder liegt es an den Clients, zu entscheiden?

In Chrome habe ich einige Javascript-Anforderungen gesehen, bei denen keine cache-control -Header als 200 (from disk cache) angezeigt werden. Optimiert Chrome dies?

Im IE habe ich gesehen, dass es als 304 (not modified) angezeigt wird.

Wie verstehe ich das besser?

8
Nishant

Wenn es keinen Cache-Control -Header und keinen Expires -Header gibt, aber einen Last-Modified -Header (den die meisten Webserver standardmäßig für statische Assets senden), die meisten Browser = verwendet heuristische Aktualität , um zu bestimmen, wie lange das Asset zwischengespeichert werden soll.

Die typische Berechnung hierfür (die von RFC 7234 vorgeschlagen wird) lautet:

(current time - last modified time) / 10

Wenn beispielsweise die letzte Änderungszeit für ein Bild angibt, dass es vor 60 Tagen zuletzt geändert wurde, kann ein Browser entscheiden, dass die lokal zwischengespeicherte Version dieses Bildes 6 Tage lang sinnvoll verwendet werden kann, bevor nach einer neuen Version gesucht wird.

Beachten Sie, dass Sie in den meisten Fällen den Browser anweisen , eine neue Version abzurufen, wenn Sie auf "Aktualisieren" klicken. In diesem Fall würde diese Logik nicht angewendet .

11
Tim Fountain