gpt4 book ai didi

caching - 使用 Cloudfront 时,如何设置相对于当前日期的过期 header ?

转载 作者:行者123 更新时间:2023-12-03 17:17:45 26 4
gpt4 key购买 nike

我们正在开发一个大型网站,我们所有的图片和资源都在 Amazon S3 中。我们还使用 Cloudfront 在全局分发我们的内容。我们想要的是告诉客户端 Web 浏览器缓存我们的文件,因为当我们更改它们时,我们也会更改 URL(Cloudfront 不会在其他地方反射(reflect) 24 小时的更改)。

我们目前正在使用 ETag,但这不是最佳选择,因为客户端仍然必须执行请求以检查资源是否已更改。

一个解决方案是 Expires Header,但我们没有找到一种方法来设置它相对于当前日期,就像在 S3 的 Apache 配置中可能的那样,我们不能定期更新所有内容,因为它几乎是。所以我们需要一个配置选项,将 Expires Header 设置为相对于所有内容的当前日期的日期。

另一种解决方案是将 Cache-Control: max-age 设置为某个值。这行得通吗?是否被主流浏览器接受?我会用这个破坏一些缓存算法吗?为什么 YSlow 建议设置 Expires header 而不是 Cache-Control: max-age?

还有其他推荐吗?我们正在压缩 CSS 和 JS,在可能的情况下使用 Sprites,在可能的情况下设置 Expires header 和 ETag,并将很快使用 Yahoo 压缩工具和 gzip 输出压缩我们的图像。

最佳答案

我们对自己做了一些研究。似乎 Cache-Control header 确实有助于告诉 Cloudfront 或代理设置有效的 Expires header ,但只是有时......

我们目前正在编写一个 Cron 作业来定期更新 S3 中的所有标题,因为这是肯定有效的一件事。好像没有别的办法了。如果有的话,我会通知你的。

关于caching - 使用 Cloudfront 时,如何设置相对于当前日期的过期 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4760438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com