Comment forcer le rafraîchissement d'une page web ?
Bonjour,
Je suis à la recherche d'une méthode fiable, permettant d'actualiser à coup sûr toutes les images d'une page web, en forçant le navigateur à les demander au serveur, plutôt que d'aller les rechercher dans sa cache.
Nous concevons un logiciel qui permet de composer des images, par assemblage d'éléments <DIV> html, sur une image de fond.
Ce logiciel comporte un script de screenshoting, qui capture périodiquement l'image, avec toutes les <DIV> qui la superposent, et la sauve dans un petit picto.png de présentation.
Le screenshoting fonctionne correctement, le petit picto conforme est bien créé.
Ensuite, lorsqu'on retourne à la page d'accueil, qui présente tous les pictos des images éditables dans une galerie, on retrouve l'ancien picto antérieur aux modifications.
J'ai tout essayé, pour forcer le navigateur à interroger le serveur, notamment :
Des headers, en PHP
Code:
1 2 3 4 5
| <?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?> |
Des balises meta :
Code:
1 2 3 4 5 6 7 8 9
| <!DOCTYPE html>
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<META http-equiv="Pragma" content="no-cache" />
<META http-equiv="Expires" content="1" />
</HEAD>
... |
Rien n'y fait. Le navigateur (en l'espèce, Chrome sous Windows) fait ce qu'il veut.
Ma question est donc de savoir quelle est l'instruction-miracle qui force, à coup sûr, tous les navigateurs à recharger la page <U>et toutes ses images</U>, depuis le serveur, et non depuis sa cache, ou un éventuel proxy.
Une instruction qui fonctionne sur tous les navigateurs récents : Firefox, Chrome, Chromium, Opera, Safari, MS-Edge, ...
Sans cela, les clients pourraient douter de la pertinence du logiciel, semble ne pas intégrer les modifications qu'il vient de porter récemment aux images.
Merci.
Christian.