Se connecter avec
S'enregistrer | Connectez-vous

IE 6 et la gestion du cache

Dernière réponse : dans Programmation
Expert Programmation

Salut.

j'ai déployé une appli en java sous tomcat 6.

Celle ci contient des jsp contenant des .js.


or l'autre jour, lors d'un redéploiement un des fichiers Js a changé.

Le client a du vider son cache pour éviter que IE (6) n'utilise l'ancien JS.

pourtant en local j'ai fait le test suivant (en regardant les entêtes HTTP échangées via ie HTTP headers:


chargement d'une page JSP incluant un JS

- premier appel
--> http 200 le fichier JS est téléchargé
- deuxième appel
--> http 304, NOT MODIFIED (le Js est pris dans le cache, jusque la tout est normal !)

je modifie le .js, et après redéploiement appels de la page et


--> http 200 le fichier JS est téléchargé


Cependant cela ne fait pas ça chez le client, il ne re-télécharge pas le .js.. quelqu'un a-t-il un début d'une ombre de réponse ?




Merci d'avance a@ tous ceux qui pourront m'aider.

Autres pages sur : gestion cache

Lassé par la pub ? Créez un compte

S'il y a un proxy entre le serveur et le PC client, le proxy ne se met pas forcément bien à jour, ce qui peut créer ce genre de soucis.
Mais sinon, tu peux ajouter les headers html pour éviter la mise en cache:
  1. <meta http-equiv="pragma" content="no-cache">
  2. <meta http-equiv="expires" content="0">
Expert Programmation

Je connais ces tags, ils vont empêcher la mise en cache de la jsp, pour le js, je suis pas du tout sur que ce soit le cas...



De plus, je ne veux pas éviter la mise en cache, sinon ça va trop ramer...


j'aimerais que, lors de l'appel a la ressource, elle soit rechargée si la ressource distante est plus récente que la ressource locale... bref, de la mise en cache (qui marche!)

Pour recharger le js a tout les coups je peux aussi inclure un paramètre aléatoire, mais ça ne me va pas non plus...(pas de mise en cache = ramage)
Expert Programmation

Quels sont les en-têtes retournées par ton serveur web quand tu fais une requête sur ce fichier ?
Il faut vérifier si tu as bien l'en-tête Cache-Control: max-age=X ou éventuellement Expires: X
Lassé par la pub ? Créez un compte
Tom's guide dans le monde