Как разрешить cloudlfare для кеширования контента, но сделать так, чтобы браузер не кешировал?(поэтому браузер всегда выбирает из CF при каждом обновлении) - PullRequest
0 голосов
/ 10 февраля 2019

Следующий код говорит браузеру и CloudFlare не кэшировать страницу.Мне нужно CloudFlare для кэширования контента.Но браузер не должен кэшировать содержимое.

header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s",time()+1) . " 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");

Вариант использования, которого я хочу достичь, - это позволить мне очистить кеш и немедленно отразить результаты на посетителях браузера.(Я очищаю кеш динамически через API)

1 Ответ

0 голосов
/ 10 февраля 2019

Я нашел ответ на свой вопрос из следующего источника: https://support.cloudflare.com/hc/en-us/articles/202775670-How-Do-I-Tell-Cloudflare-What-to-Cache-

В нем упоминается:

, если клиент хочет указать тайм-аут кэша в CDN, который отличаетсяиз браузера мы также можем использовать s-maxage:

Cache-Control: s-maxage=200, max-age=60

. Это заставит Cloudflare кэшировать объект в течение 200 секунд, а браузер - в течение 60 секунд.По сути, s-maxage предназначен только для использования обратных прокси-серверов (поэтому браузер должен его игнорировать), в то время как Cloudflare отдает приоритет s-maxage, если он присутствует.Обратите внимание, что мы будем уважать любое значение: параметр кэширования браузера в Cloudflare или заголовок максимального возраста.

...