Ich verstehe, dass Ctrl+ Refresh frischen Inhalt aus dem Browser abruft, ohne den Cache zu lesen. Wofür ist dann Ctrl+ Shift+ Aktualisieren?
Ctrl + Der Refresh Request Header sieht folgendermaßen aus:
Cache-Control : max-age=0
für Ctrl+ Shift+ Aktualisieren
Pragma : no-cache <br>
Cache-Control : no-cache
Was ist der wahre Unterschied?
Antworten:
Beide sind identisch mit dem Browser auf dem lokalen Computer. Die von Ihnen erwähnten Überschriften sind der einzige Unterschied.
Der Header Strg + Aktualisieren bedeutet, dass alle Caching-Server auf dem Weg eine neue Kopie der Seite zurückgeben sollten.
Die Kopfzeilen Strg + Umschalt + Aktualisieren bedeuten, dass alle Caching-Server auf dem Weg eine neue Kopie der Seite zurückgeben und die Seite auch nicht für zukünftige Anforderungen zwischenspeichern sollten. Mit anderen Worten, wenn die Seite das nächste Mal angefordert wird, sollte sie entweder einen vorherigen Cache der Seite verwenden oder eine neue Kopie anfordern, diese jedoch nicht.
Pragma: no-cache ist die HTTP 1.0-Version von Cache-Control: no-cache. Es gibt kein HTTP 1.0-Äquivalent zu Cache-Control: max-age = 0.
RFC2616 Abschnitt 14 Unterabschnitt 9 enthält relevante Informationen: w3c.org: RFC2616 Abschnitt 14.9.1
quelle
Es gibt noch einen weiteren Unterschied, und zwar einen großen.
Wenn Sie Strg + Aktualisieren drücken, gibt der Browser für jedes zwischengespeicherte Objekt mit einem
Last-Modified
oder einemETag
Header eine Anforderung mit einemIf-Modified-Since
oder einemIf-None-Match
Header aus. Der Server kann sich dann dafür entscheiden, mit a zu antworten304 Not Modified
, ohne erneut Daten zu senden (vorausgesetzt, die Daten werden tatsächlich nicht geändert).Wenn Sie Strg + Umschalt + Aktualisieren drücken, gibt der Browser keine solchen bedingten
If-*
Header aus, sodass der Server keine andere Wahl hat, als die Daten erneut zu senden.quelle