F5 et Ctrl+F5 déclenchent dans les navigateurs Web ?
J'ai fait des expériences avec IE6 et Firefox 2.x. Un rafraîchissement F5 déclenchera une requête HTTP au serveur contenant un en-tête If-Modified-Since
, tandis que Ctrl+F5 n'aura pas un tel en-tête. D'après ma compréhension, F5 essaiera d'exploiter autant que possible le contenu mis en cache, tandis que Ctrl+F5 vise à supprimer tout le contenu mis en cache et à tout récupérer à nouveau sur le serveur.
Mais aujourd'hui, j'ai remarqué que dans certains des derniers navigateurs (Chrome, IE8), cela ne fonctionne plus de cette façon. F5 et Ctrl+F5 envoient tous deux l'en-tête If-Modified-Since
.
Alors, comment cela est-il censé fonctionner, ou (s'il n'y a pas de norme) en quoi les principaux navigateurs diffèrent-ils dans la manière dont ils implémentent ces fonctions d'actualisation ?
Cela dépend du navigateur, mais ils se comportent de la même manière.
F5 Généralement, ne met à jour une page que lorsqu'elle a été modifiée. Les navigateurs modernes envoient
Cache-Control: max-age=0
pour indiquer la durée maximale (par rapport à la durée de la demande) pendant laquelle toute ressource mise en cache sera considérée comme fraîche.CTRL-F5 est utilisé pour forcer une mise à jour, en ignorant tout cache. Les navigateurs modernes envoient
Cache-Control: no-cache
和Pragma: No-cache
Si je me souviens bien, Netscape a été le premier navigateur à ajouter la prise en charge du contrôle du cache en ajoutant lorsque vous appuyez sur CTRL
Pragma: No-cache
- F5.Remarque sur Chrome 6.0.472 : Si vous effectuez un rechargement forcé (par exemple CTRL-F5), il se comporte comme si l'URL était marquée en interne comme toujours un rechargement forcé. Si vous accédez à la barre d'adresse et appuyez sur Entrée, le drapeau sera effacé.
De manière générale :
Même si le contenu change,F5 peut vous servir la même page car il peut charger la page depuis le cache. Mais Ctrl+F5 forcera une actualisation du cache et garantira que vous obtiendrez du nouveau contenu s'il change.