В моем стремлении абсолютно, положительно, наверняка, полностью отключить кэширование для максимально возможного количества браузеров / серверов / ситуаций , я нахожу множество противоречивых ответов и советов относительно заголовков HTTP, которые мне нужноиспользуйте.
Обратите внимание, что здесь я говорю о стороне сервера , то есть какие HTTP-заголовки я должен отправлять с сервера, чтобы любой браузер не кэшировал мои данные и не перезаписывал их полностью.-обращайтесь по каждому запросу.
Во-первых, есть заголовок Cache-Control
.Я нахожу различные комбинации следующих параметров:
Cache-Control: no-cache, no-store, must-revalidate, post-check=0, pre-check=0, max-age=0
Какие из них правильные?Какие из них полезны?Какие фальшивые?Нужно ли мне больше?
Затем, особенно в PHP, некоторые люди, как правило, добавляют это:
header("Cache-Control: private",false);
Параметр false
позволяет избежать замены любого более раннего Cache-Control.заголовки, настолько эффективно, что это добавило бы второй заголовок HTTP, как это:
Cache-Control: private
Есть ли какое-либо применение к этому?
Затем, есть заголовок Expires
, который обычно выглядитЛучше всего установить 0:
Expires: 0
Имеет смысл.
Наконец, есть заголовок Pragma
, где я также вижу противоречивые рекомендации.
Некоторые люди говорят: Pragma: no-cache
Другие рекомендуют: Pragma: public
Что лучше?
Что-нибудь еще, что я забыл?