Очистка кеша с управлением версиями не работает

В настоящее время я использую управление версиями для очистки кеша. Я использовал для создания другого имени файла с датой или версией. Однако он ломает кешированную страницу Google, потому что Google ищет старое имя файла.

У меня есть настройка веб-пакета для разбиения на части.

output.filename = '[name].js?v=' + hash
output.chunkFilename = '[name].js?v=' + hash

И я вижу, что браузер правильно запрашивает файл с v = xxx

Однако иногда мне нужно попросить моего клиента открыть инструмент разработчика и нажать очистить кеш и полностью обновить, потому что обычное обновление почему-то не работает.

Я также использую Cloudflare cdn, и у него есть политика кеширования. Заголовки ответов Cloudflare.

cache-control: max-age=31536000
cf-bgj: minify
cf-cache-status: HIT
cf-polished: origSize=9873

Как убедиться, что браузер и cloudflare очищают все файлы js и css при отправке нового кода?

Не знаю, что делать, если нормальное обновление не работает.


person fiddlest    schedule 18.02.2021    source источник


Ответы (1)


В Cloudflare есть несколько способов управлять поведением кеша

У вас также есть различные варианты (в зависимости от плана) для упреждающей очистки определенных ресурсов с помощью Очистка кеша (как с панели управления, так и через API).

Стоит просмотреть указанные выше параметры (в частности, уровни кеширования и правила страниц), чтобы убедиться, что строка запроса считается частью ключа кеша, используемого для извлечения данных. В частности, заголовок cf-cache-status: HIT указывает, что запрошенный ресурс был извлечен из кэшированной копии CDN.

person Paolo Tagliaferri    schedule 19.02.2021