Je comprends que Ctrl+ Refresh récupère le nouveau contenu du navigateur sans lire le cache. Alors à quoi sert Ctrl+ Shift+ Refresh?
Ctrl + L'en-tête de demande d'actualisation est comme ceci:
Cache-Control : max-age=0
pour Ctrl+ Shift+ Rafraîchir
Pragma : no-cache <br>
Cache-Control : no-cache
Quelle est la vraie différence?
Réponses:
Les deux sont identiques au navigateur sur la machine locale. Les en-têtes que vous avez mentionnés sont la seule différence.
L'en-tête Ctrl + Refresh signifie que tout serveur de mise en cache en cours de route doit renvoyer une nouvelle copie de la page.
Les en-têtes Ctrl + Shift + Refresh signifient que tout serveur de mise en cache en cours de route doit renvoyer une nouvelle copie de la page et ne doit pas non plus mettre en cache la page pour toute demande future. En d'autres termes, la prochaine fois que la page est demandée, elle doit utiliser un cache précédent de la page ou demander une nouvelle copie, mais ne doit pas utiliser celle-ci.
Pragma: no-cache est la version HTTP 1.0 de Cache-Control: no-cache. Il n'y a pas HTTP 1.0 équivalent à Cache-Control: max-age = 0.
RFC2616 section 14 sous-section 9 contient des informations pertinentes: w3c.org: RFC2616 sec 14.9.1
la source
Il y a une autre différence, et une grande différence.
Lorsque vous appuyez sur Ctrl + Actualiser, pour chaque objet mis en cache qui a un en
Last-Modified
-ETag
tête ou , le navigateur émet une demande avec un enIf-Modified-Since
-If-None-Match
tête ou . Le serveur peut alors choisir de répondre par un304 Not Modified
, sans renvoyer de données (en supposant que les données ne sont en fait pas modifiées).Lorsque vous appuyez sur Ctrl + Maj + Actualiser, le navigateur n'émet pas de tels en-
If-*
têtes conditionnels , ne laissant au serveur aucune autre option que d'envoyer à nouveau les données.la source