YSLOW suggère: Pour les composants statiques: implémentez la politique "Ne jamais expirer" en définissant le futur éloigné Expose header .... si vous utilisez un en-tête Expires lointain, vous devez changer le nom du composant chaque fois que le composant change. Chez Yahoo! cette étape fait souvent partie du processus de construction: un numéro de version est incorporé dans le nom de fichier du composant, par exemple, yahoo_2.0.6.js. Je voudrais profiter de la mise en cache pour mes pages essentiellement statiques et recharger les fichiers js lorsque le numéro de version change. J'ai défini un # de version pour mes fichiers .js mais ma page main.html a Expires défini à l'avenir, donc il ne recharge pas et ne recharge donc pas les fichiers js. Idéalement, je voudrais dire au navigateur (en utilisant une technique psychique) de recharger main.html lorsqu'une nouvelle version du site est publiée. Je pourrais toujours recharger ma page main.html, mais je perdrais alors le bénéfice de la mise en cache. Je ne cherche pas la réponse ctrl-F5 car cela doit se faire automatiquement pour nos utilisateurs.Comment déclencher l'actualisation html du navigateur pour les fichiers html mis en cache?
Je pense que la réponse est: main.html ne peut pas être mis en cache, mais j'aimerais savoir ce que les autres font pour résoudre ce problème. Comment obtenez-vous les meilleurs avantages de mise en cache et de rechargement?
Merci.
Je pense que vous avez raison - * main.html ne peut pas être mis en cache *. Ou au moins pas la page entière. –
Assurez-vous que vous êtes le support du serveur 304 non modifié, donc au moins aucun contenu ne doit être re-téléchargé si la page n'a pas changé. Si vous voulez plus, vous pouvez regarder dans l'appcache de html5. Cela fait l'affaire que vous voulez, mais vous avez besoin de JS pour «recharger» la page si l'appcache a changé. Sinon, la page sera mise à jour la prochaine fois que la page sera demandée. Probablement n'a pas beaucoup de sens pour vous, ce que je viens de dire. – Gerben