#amazon-web-services #amazon #amazon-cloudfront
#amazon-веб-сервисы #amazon #amazon-cloudfront
Вопрос:
Я ищу способ заставить клиента прекратить кэширование файла, но всегда запрашивать его у CloudFront. Поиск всегда выдает информацию, связанную с очисткой кэша в CloudFront.
В моем случае у меня есть дистрибутив CF, указывающий на мое приложение. Всякий раз, когда я хочу что-то удалить из CloudFront, я использую запрос на аннулирование. Таким образом, поведение кэширования между origin и CF находится под контролем. Тем не менее, я хочу заставить браузеры прекратить хранить кэш любого типа для ресурса. Если я верну заголовок кэша из своего источника, похоже, что это изменит поведение кэширования между CF и Origin.
Как я могу обеспечить различное поведение кэширования между клиентом и CF?
Ответ №1:
Есть ли у вас контроль над тем, когда запрашивается файл? Каков вариант использования?
Если вы хотите полностью отключить кэширование, просто задайте соответствующие заголовки в origin . Если вы хотите кэшировать origin в Cloudfront, но не в клиенте, вы можете изменить заголовки в Cloudfront с помощью Lambda@Edge .
Если это ресурс, который вы используете как часть своего собственного веб-сайта, например, файл javascript, вы можете просто добавить уникальный хэш к имени файла. Вместо того, чтобы обслуживать app.js , вы служите app-52638308.js , и число меняется при обновлении файла. Сами файлы всегда кэшируются, и их не нужно аннулировать.
Комментарии:
1. Спасибо, это конфигурационный файл js, встроенный третьими сторонами на их веб-сайте. Я посмотрю на Lambda @Edge