【发布时间】:2016-11-17 21:19:35
【问题描述】:
我已将 Cache-Control=max-age=315569520 & Expires 设置为 10 年后。
浏览器仍然没有从缓存中读取文件并向 S3 发出 GET 请求。作为响应,收到了 304,但我的 S3 GET 计数因此而增加。
请建议为 S3 文件设置缓存的正确方法
【问题讨论】:
-
Expires已弃用且不必要。尝试不使用它...然后为Cache-Control: max-age=...尝试一个更合理的值,例如 86400,看看浏览器是否会丢弃该值,就好像它太大而不能被认为是正确的一样。此外,请提及浏览器和版本,以便其他人可以尝试复制您所看到的行为。 -
迈克尔您的建议无效。我在最新的 Chrome、Opera 和 Safari 上试过这个。它在 Firefox 上运行良好。是否与 Chrome 中的 Request 标头中的 Cache-Control=0 和 Safari 中的 Cache=No 有关?
-
验证这不是您的测试方法的产物。浏览器行为是一个移动的目标,但this answer 可能会深入了解浏览器何时可以发送
If-Modified-Since请求缓存内容(在浏览器会话期间首次触摸?重新加载?),何时不会。据我估计,这从根本上说不是 S3 特定的问题,而是浏览器行为之一,并且给定来自 S3 以外的服务器的相同响应,浏览器行为也应该相同。
标签: amazon-s3