Мне нужен клиент (использующий javascript), чтобы сделать недействительной страницу, которая у него есть, и по сути получить новую версию?
Я думал, что смогу сделать все это с заголовками: Делать недействительными кэшированный контент, If-Modified Headers?
Если нет способа заставить браузер обновить текущую кэшированную версию, не делая новый запрос (через новый URL) ... так, чтобы тот же исходный запрос URL мог использоваться для просмотра обновленного содержимого?
Если вы хотите перезагрузить текущую страницу, вы можете сделать:
location.reload(true);
В противном случае «традиционный» способ - добавить случайную строку запроса в конец
'...?rnd=' + Math.random();
Вы не можете сделать это с помощью javascript, чтобы решить вашу проблему или использовать метод POST вместо GET или использовать трюк со случайным параметром nocache :
Если вам нужна дополнительная информация, смотрите: Можно ли кешировать POST-методы в HTTP?
Когда вы ссылаетесь на страницу, добавьте случайную переменную в конец. Например:
document.location.href = 'mypage.html?randomVar=454068934';
Это обеспечит не кэшированную версию. Я рекомендую использовать сгенерированные javascript направляющие.
что я сделал, это передал случайный параметр в URL. То есть, если мне нужно получить products.php, я вызываю это с products.php? rand = 23443545. Таким образом, кеш не мешает.