Bonjour
La balise meta du header d'une jsp
gère-t-elle aussi les ressources liées (css/js/png...) ou faut-il les gérer séparément.Code:<meta http-equiv="PRAGMA" content="NO-CACHE ou ...." />
Si oui comment ? (serveur tomcat sans apache)
merci
Version imprimable
Bonjour
La balise meta du header d'une jsp
gère-t-elle aussi les ressources liées (css/js/png...) ou faut-il les gérer séparément.Code:<meta http-equiv="PRAGMA" content="NO-CACHE ou ...." />
Si oui comment ? (serveur tomcat sans apache)
merci
Il vaut mieux utiliser ce genre de code dans un JSP:
Et non, ca ne s'applique pas aux ressources liées. En même temps, tomcat est tout à fait capable de gérer le cache control des ressources statiques qu'il gère. Il n'y a donc pas de raison de désacriver leur mise en cache.Code:
1
2
3
4
5 <% response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 response.setHeader("Pragma","no-cache"); //HTTP 1.0 response.setDateHeader ("Expires", 0); //prevent caching at the proxy server %>
Mais alors comment reparamétrer le cache suivant les ressoiurces .Citation:
En même temps, tomcat est tout à fait capable de gérer le cache control des ressources statiques qu'il gère.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="PRAGMA" content="NO-CACHE" /> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <script type="text/javascript" src="js/calendar.js"></script> <script type="text/javascript" src="js/menu_dhtml.js"></script> <script type="text/javascript" src="js/menu_css.js"></script> <script type="text/javascript" src="js/item_x.js"></script> <script type="text/javascript" src="js/fct_gestmat.js"></script> <script type="text/javascript" src="js/dom_event.js"></script> <script type="text/javascript" src="js/recherche.js"></script> <script type="text/javascript">var id ="0"</script> <link rel="stylesheet" type="text/css" href="style/menu_parc.css" /> <link rel="stylesheet" type="text/css" href="style/gestmat.css" /> <title>Gestion des matériels - formulaire</title> </head> <body >
la question, c'est plutot, pourquoi tu veux désactiver ce cache?
je ne veux pas le déactiver mais connaitre son paramétrage et le modifier selon besoin (appli intranet)
Tu peux lire ceci, ça à l'air intéressant (je le lirai et testerai plus tard pour ma part ;))
A+
Les regles de cache des ressources statiques (css, gif, etc) sont envoyé avec une règle de cache qui force le browser à vérifier à chaque fois la date. Tomcat utilise les dates des fichiers concernés pour savoir si ca a expiré. Si tu veux modifier ce comportement, il faut remplacer la servlet par défaut (celle qui est mappée sur /) par ta propre servlet qui ferais le même boulot. Je ne comprend d'ailleurs pas quel autre besoin que celui là tu pourrais avoir. La ressource n'est pas modifiée sur le disque -> alors le client garde la version en cache.
Ok j'avais pigé cette règle mais mon soucis ce sont les src:
si nous n'avons pas de header sur quel critère avons nous la màj. sinon rechargement systématique des css,js et img.Citation:
<script type="text/javascript" src="js/calendar.js"></script>
<script type="text/javascript" src="js/menu_dhtml.js"></script>
<script type="text/javascript" src="js/menu_css.js"></script>
<script type="text/javascript" src="js/item_x.js"></script>
<script type="text/javascript" src="js/fct_gestmat.js"></script>
<script type="text/javascript" src="js/dom_event.js"></script>
<script type="text/javascript" src="js/recherche.js"></script>
Je pose cette question car j'ai quelques soucis avec des pc qui ont les écrans qui ne s'actualisent pas ou qui mettent un temps fou avant de charger une page qui fait au max 5Ko sans les src qui eux en font une 100Ko.
Faut-il charger ces liens via une servlet qui permet de définir un header?
Lorsque le fichier est modifié coté serveur, tomcat change la date, et ainsi répond correctement aux requtes de type "if modified since" etc.
même avec 100K, ca ne devrais pasmettre un temps fou, sauf peut etre avec un connection 3G. Je serais toi je regarderais plutot du coté de la vitesse d'exécution du javascript / de calcul de css dans le browser cible.Citation:
Je pose cette question car j'ai quelques soucis avec des pc qui ont les écrans qui ne s'actualisent pas ou qui mettent un temps fou avant de charger une page qui fait au max 5Ko sans les src qui eux en font une 100Ko.
Faut-il charger ces liens via une servlet qui permet de définir un header?
Tu devrais commencer par confirmer que le client recharge bien tes css/js au lieu d'utiliser son cache (en sniffant la connection, par exemple). Je dis ça parce que j'ai eu le meme gag au boulot. Un page complexe qui s'affichait quasi instantanément avec FF 3 mais qui mettais presque 15 secondes à s'afficher dans IE.
Ok mais à part le menu aucun script n'est exécuté au chargement.
L'appli de jsp en jsp utilise toujours les mêmes script et css à part qqes exceptions (appli type mcv).
Donc c'est là qu'est mon interrogation car le cache du navigateur devrait prendre le relai puisque finalement il n'y a que 5Ko à charger.
commence par mesurer la quantité de données effectivement demandée par le navigateur et met ca en correspondance avec la bande passante du client pour voir si c'est la cause. Tu peux aussi configurer sur ton tomcat un valve qui va logguer à la facon de apache httpd les requetes et leur réponse.