使用Dynamics Media了解和解决浏览器缓存中的即时图像过期问题

了解网站上的图像有时为何会在可用的情况下消失或无法加载。本文探讨这种情况发生的原因以及内容交付网络(CDN)和TTL(生存时间)设置如何发挥作用。

描述 description

环境

Adobe Experience Manager

问题/症状

使用Dynamics媒体时,浏览器中的图像会立即过期。

通过Dynamics Media提供的图像在浏览器中立即过期,导致向源服务器发出过多的If-Modified-Since (IMS)请求,并且由于缺少有效的缓存,出现性能问题。

解决方法 resolution

为了防止图像提前过期,优化CDN缓存和TTL设置至关重要。

  1. 实施 < cache:header-update.allow> 日期< /cache:header-update.allow> 元标记,在收到304响应时提示CDN刷新缓存响应中的缓存指令标头。

  2. 使用 < cache:header-update.max-frequency> 元数据标记,用于调整CDN缓存中标头更新的频率,从而防止过度覆盖缓存。

  3. 确保为“Expires”标头配置未来的日期,以防止立即到期并优化浏览器缓存的利用率。

  4. 监控CDN和浏览器缓存行为,以验证是否使用准确的标头交付图像,从而有效地最大限度地减少流向原始服务器的不必要流量。

通过调整这些设置并确保过期标头与TTL配置一致,可以最小化对源服务器的不必要的IMS请求,从而延长浏览器缓存中的图像的可用性。

原因

Dynamics Media允许您为特定图像设置过期时间。 图像的TTL传递后,会向源触发IMS请求。 如果源服务器向此发送304响应(未修改),则图像将与“Expires”标头一起刷新(如果图像也发生更改)。

以前,CDN的静态TTL为10小时,并且“Expires”标头对CDN缓存没有影响。 但是,此行为发生了更改,当使用CDN TTL或“Expires”标头使图像过期时,它将会与标头一起再次刷新。 简而言之,如果“Expires”标头时间短于配置的TTL,我们现在会覆盖CDN的TTL。

此CDN配置更改的影响是,现在向源服务器发出的内容的IMS请求更加频繁,并且到期时间较短。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f