Заголовки HTTP, чтобы избежать кэширования: какие флаги Cache-Control, какое значение прагмы и что еще? - PullRequest
0 голосов
/ 05 декабря 2018

В моем стремлении абсолютно, положительно, наверняка, полностью отключить кэширование для максимально возможного количества браузеров / серверов / ситуаций , я нахожу множество противоречивых ответов и советов относительно заголовков 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

Что лучше?

Что-нибудь еще, что я забыл?

...