Недавно я добавил заголовки HTTP на свой сайт, чтобы сообщить браузеру о необходимости сверяться с сервером каждый раз, когда он сталкивается с заданным URL-адресом JS/CSS. Я протестировал его, и он отлично работает; все браузеры теперь делают условные GET
запросы.
Вот в чем проблема: у людей до сих пор кэшируются старые заголовки; заголовки, которые более или менее сообщали браузеру «кэшируйте это навсегда, не беспокойтесь об обновлении!». Это можно исправить с помощью жесткого обновления. Я не хочу общаться со всеми, чтобы нажать F5 на любых страницах с ошибками после того, как мы выложим код.
Существуют ли какие-либо HTTP-заголовки/метатеги HTML, которые я мог бы поместить в сам HTML-документ, чтобы сказать: «Браузер, игнорируйте заголовки, которые у вас есть в файлах JS/CSS, и загружайте последнюю версию всех включенных файлов на эта страница"?
В конце концов, эта проблема решится сама собой, поскольку все больше и больше людей очищают свой кеш или учатся обновляться самостоятельно. Но я бы предпочел исправить это сейчас. Затем примерно через месяц я удалю заголовки HTML-уровня, чтобы получить кэширование там, где я хочу — для каждого ресурса.
EDIT: я не хочу переименовывать ресурсы или добавлять параметры запроса. Это то, что мы использовали (?v=18, ?v=19 и т. д.), и увеличивать это число каждый раз, когда мы обновляли ресурсы, было муторно. Даже делать это программно — не идеальное решение; особенно сейчас, когда наш сервер настроен правильно. Разумнее делать это на уровне HTTP, чтобы он работал независимо от того, как вы к нему обращаетесь — на странице, непосредственно из адресной строки или иным образом.