PHP Получить новый контент, когда заголовки кэширования меняются, и контент истек - PullRequest
0 голосов
/ 13 декабря 2018

У меня возникла путаница по поводу того, как обращаться с этим сценарием кэширования.

Пользователь посещает страницу, которая изначально должна быть кэширована.Поэтому я установил заголовки с помощью php ...

header("Expires: " . gmdate("D, d M Y H:i:s", time() + 86400) . " GMT");
header("Cache-Control: max-age=86400");
header("Pragma: cache");

Это работает отлично.Браузер пользователя загружает страницу из кэша каждый раз, когда они посещают ее.Я проверял это только в Chrome - он подчиняется заголовкам, и все хорошо.

Но затем я изменяю некоторый контент на странице.Я хочу, чтобы новый контент, который был добавлен, также отображался при следующем посещении страницы пользователем.Я попытался установить заголовки, чтобы сообщить браузеру не загружать страницу из кэша, а получить ее с сервера.Заголовки выглядят так ...

header("Expires: Mon, 01 Jan 1970 00:00:00 GMT");
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");

Но браузер по-прежнему получает содержимое из своего кэша.Похоже, что браузер запоминает старые заголовки и продолжает подчиняться инструкциям, которые он дал, что, как мне кажется, является ожидаемым поведением.Но проблема в том, что он не получает новые заголовки и не обнаруживает, что срок действия содержимого истек.

Как сообщить браузеру, что срок действия содержимого истек?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...