如何从缓存控制策略中排除单个图像或一组图像?

问题描述 投票:0回答:2

我希望对我网站上的一些图片设置缓存控制策略来安抚谷歌领主,但是我不希望我网站上的所有图片都被缓存。虽然我对缓存控制策略的工作原理有点模糊,但我的理解是我将它放在页面的标题中,页面上的所有图像、js 和 css 都会在指定的设定时间内缓存...我可能完全错了它的功能,所以如果我错了,请纠正我。

但是如果我将缓存控制策略设置为:

缓存控制:最大年龄=31536000

我如何防止特定资产在那几年被缓存。我的页面上有横幅和图像,它们经常更新,以至于我无法缓存并在多年内保持静态。请指教。谢谢!

caching header seo cdn cache-control
2个回答
1
投票

虽然我对缓存控制策略的工作原理有点模糊,但我的理解是我将它放在页面的标题中,并且页面上的所有图像、js 和 css 都会缓存设定的数量指定时间。

不,缓存标头仅适用于返回的特定响应,不适用于页面链接的任何其他资源。所有其他资产都需要自己的缓存标头,这当然允许您为每个资源选择特定的缓存时间。


0
投票

你为什么不想缓存图像?静态物体的图像;如果您要创建不同的图像,那么它们应该具有不同的名称或扩展类型。

话虽如此,如果您使用的是 CDN,大多数都允许在资源上配置自定义 TTL。我建议联系 CDN 支持以了解如何设置规则。

此外,最常见的应用程序(Rails、Express 等)和 Web 服务器(Nginx、Apache)也允许覆盖标头。服务器端配置可能比 CDN 选项更灵活,因为您控制逻辑而不依赖第三方控制它。

这里有一个链接到Mozilla关于缓存控制标头的规范

© www.soinside.com 2019 - 2024. All rights reserved.