Когда браузер использует копию
Кеш хранит копию ответа, чтобы не загружать её заново при каждом обращении. Копия может находиться в браузере или на промежуточном сервере.
Свежесть и повторная проверка
Сервер может указать время свежести ответа через Cache-Control: max-age=3600. При подходящих условиях кеш использует такую копию в течение часа без повторного получения содержимого.
Когда нужна проверка, браузер может отправить сохранённый ETag в заголовке If-None-Match. Если представление не изменилось, сервер отвечает 304 Not Modified, и браузер использует прежнее тело.
no-cache не означает «не сохранять»
no-cache разрешает хранение, но требует проверки перед повторным использованием. no-store указывает не сохранять ответ. Для личных данных важно отдельно продумать политику браузерного и общего кеша.
Cache-Control: private, no-cache
ETag: "revision-7"Почему после публикации видна старая версия
Причина может быть в браузерном кеше, CDN или сервис-воркере. Сначала сравните заголовки ответа и имя файла. Для статических ресурсов удобно менять имя при изменении содержимого, например site.a1b2.css.
Практический порядок проверки
- Посмотрите запрос во вкладке «Сеть» и убедитесь, откуда пришёл ответ.
- Временно отключите кеш в инструментах разработчика.
- Проверьте правила промежуточного кеширования и версию ресурсов.
- После исправления верните обычный режим и повторите проверку.