【发布时间】:2023-02-07 22:27:06
【问题描述】:
我有一个名为sdk.js 的文件。此文件名未以任何方式进行版本控制或哈希处理,因为我们不控制嵌入它的站点,因此名称必须保持一致。
浏览器应缓存此文件,但在使用其副本之前首先通过 Cloudfront 不断重新验证。据我了解,这是 Cache-Control: no-cache 指令指定的行为。
我正在使用 Cache-Control: no-cache 标头将文件上传到 S3,以便 Cloudfront 实现此行为。
基本上说,这个指令的存在也会使 CDN 在服务文件之前每次都与源重新验证,即使 Cloudfront 最小 TTL > 0。
在我的研究中,我注意到有 Cache-Control 指令可以独立控制浏览器和 CDN 的 TTL:s-maxage 和 max-age。那么是否有指令或设置可以分别控制浏览器和 CDN 的重新验证行为?.
【问题讨论】:
标签: amazon-web-services caching amazon-cloudfront cache-control cache-invalidation