Fonctionnement du cache du navigateur

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
arna
Arias
Messages : 7
Inscription : 30 juin 2011, 19:29

Fonctionnement du cache du navigateur

Message par arna »

Bonjour,

Je pensais finir par trouver une explication sur le net, d'autant que c'est un sujet sur lequel je me suis déjà penché, mais absolument pas !
Donc, en tant que développeur : comment éviter la mise en cache d'une page .html ? :?:

(ce qui suit est un peu long mais rien de compliqué à suivre)
Depuis des années j'utilisais dans le header de la page html :

Code : Tout sélectionner

<meta http-equiv="Pragma" content="no-cache">
Cela fonctionnait très bien.

Depuis l'arrivée de Firefox 4 (et de Chrome un peu avant, mais le fonctionnement de Chrome est encore une question séparée... même si, si jamais quelqu'un a une réponse claire, je suis aussi preneur), il semblerait que ça ne soit plus aussi simple.

J'apprends à l'époque l'existence de cache-control et de Expires. Je crois un moment que si on met :

Code : Tout sélectionner

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-store">
<meta http-equiv="Expires" content="0">
cela règle le problème définitivement... Mais il s'avère que non. J'essaie aussi avec :
<meta http-equiv="Expires" content="-1">, mais c'est pareil que 0, on est d'accord...
Egalement avec :

Code : Tout sélectionner

<meta http-equiv="cache-control" content="must-revalidate">
sans succès non plus. J'ai vu que ça pouvait venir du type de document, donc j'ai bien ajouté :

Code : Tout sélectionner

<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
en vain.

J'ai bien noté que ça discutait beaucoup d'envoyer le header en tout premier lieu dans le document. J'imagine qu'il s'agit là d'une consigne pour les langage de la famille de PHP, et qu'en HTML il n'y a aucune autre façon de commencer que par :
<html>
<head>
Exact ?
(précédé d'un éventuel - voire incontournable - <!DOCTYPE HTML... etc.)

Donc actuellement je ne sais vraiment plus quoi faire ! :| J'ai une page HTML basique, puisqu'elle ne contient qu'une FAQ en texte, et je me demande si je suis obligé de la passer en PHP pour que firefox (et autres !) cessent de systématiquement faire appel à la page en cache (cela force à utiliser la fonction Actualiser pour avoir les mises à jour !).

Merci à ceux qui pourront m'éclairer !
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: Fonctionnement du cache du navigateur

Message par calimo »

Hello,

La chose la plus importante est de se souvenir que toutes ces balises HTML ne servent à rien si le serveur envoie des entêtes HTTP contradictoires.

Pour ma part quand je ne veux surtout pas mettre une page en cache je fais

Code : Tout sélectionner

Cache-control: no-cache, max-age=0
Expires: DATE_EN_COURS_AU_FORMAT_HTTP
et je n'ai jamais eu l'impression d'avoir de problèmes…
arna
Arias
Messages : 7
Inscription : 30 juin 2011, 19:29

Re: Fonctionnement du cache du navigateur

Message par arna »

C'est étrange, je fais les mêmes tests sur la même page sur un autre ordinateur sur FF 4 et la page n'est cette fois pas mise en cache.
D'où cela peut venir ? Des paramètres de FF donc ? De la version 5 par rapport à la 4 ?
teoli2003
Animal mythique
Messages : 7580
Inscription : 13 nov. 2005, 09:23

Re: Fonctionnement du cache du navigateur

Message par teoli2003 »

Quels sont les en-têtes envoyés par le serveur?
La liberté n'est jamais accordée de bon gré par l'oppresseur; elle doit être exigée par l'opprimé (Martin Luther King).
Les convictions sont des ennemis de la vérité plus dangereux que les mensonges. (Nietzsche).
Native Mozillian.
arna
Arias
Messages : 7
Inscription : 30 juin 2011, 19:29

Re: Fonctionnement du cache du navigateur

Message par arna »

Comment les obtenir ?

Merci
teoli2003
Animal mythique
Messages : 7580
Inscription : 13 nov. 2005, 09:23

Re: Fonctionnement du cache du navigateur

Message par teoli2003 »

Tu peux les avoir en cliquant sur la requête HTTP correspondante dans la console Web (dans les Outils)
La liberté n'est jamais accordée de bon gré par l'oppresseur; elle doit être exigée par l'opprimé (Martin Luther King).
Les convictions sont des ennemis de la vérité plus dangereux que les mensonges. (Nietzsche).
Native Mozillian.
arna
Arias
Messages : 7
Inscription : 30 juin 2011, 19:29

Re: Fonctionnement du cache du navigateur

Message par arna »

Si j'en crois mes derniers tests, c'était la présence de mon bon vieux, toujours fidèle et historique
<meta http-equiv="Pragma" content="no-cache">
qui était la source de la mise en cache systématique. Pour un truc qui s'appelle "no-cache" il faut avouer que c'est fort :wink:
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités