J'ai besoin du client (à l'aide de javascript) pour invalider une page et avoir essentiellement une nouvelle version?
Je pensais pouvoir tout faire avec des en-têtes: Invalidant le contenu mis en cache, les en-têtes modifiés?
S'il n'y a aucun moyen pour que le navigateur actualise sa version en cache actuelle, sans faire une nouvelle demande (via une nouvelle URL) … de sorte que la même demande d'URL d'origine pourrait être utilisée pour voir le contenu mis à jour?
Vous ne pouvez pas le faire avec javascript, pour résoudre votre problème ou utilisez la méthode POST à la place de GET ou utilisez des astuces de paramètre aléatoire nocache :
Si vous souhaitez plus d'informations, voir: Est-il possible de mettre en cache les méthodes POST en HTTP?
Si vous souhaitez recharger la page actuelle, vous pouvez:
location.reload(true);
Sinon, la manière «traditionnelle» consiste à ajouter une chaîne de requêtes aléatoire sur la fin
'...?rnd=' + Math.random();
Lorsque vous faites référence à la page, ajoutez une variable aléatoire à la fin. Par exemple:
document.location.href = 'mypage.html?randomVar=454068934';
Cela garantira une version non mise en cache. Je recommande d'utiliser des guids générés par javascript.
Ce que j'ai fait est de passer un paramètre aléatoire dans l'url. C'est-à-dire si je dois chercher products.php, je l'appelle avec products.php? Rand = 23443545. De cette façon, le cache n'interfère pas.