使用Dynamics Media了解和解决浏览器缓存中的即时图像过期问题
了解网站上的图像有时为何会在可用的情况下消失或无法加载。本文探讨这种情况发生的原因以及内容交付网络(CDN)和TTL(生存时间)设置如何发挥作用。
描述 description
环境
Adobe Experience Manager
问题/症状
使用Dynamics媒体时,浏览器中的图像会立即过期。
通过Dynamics Media提供的图像在浏览器中立即过期,导致向源服务器发出过多的If-Modified-Since (IMS)请求,并且由于缺少有效的缓存,出现性能问题。
解决方法 resolution
为了防止图像提前过期,优化CDN缓存和TTL设置至关重要。
-
在
<
上实施<
cache:header-update.allow>
/cache:header-update.allow>
metatag以提示CDN在收到304响应时刷新缓存响应中的缓存指令标头。 -
使用
<
cache:header-update.max-frequency>
元数据标记来调整CDN缓存中标头更新的频率,从而防止过度覆盖缓存。 -
确保为“Expires”标头配置未来的日期,以防止立即到期并优化浏览器缓存的利用率。
-
监控CDN和浏览器缓存行为,以验证是否使用准确的标头交付图像,从而有效地最大限度地减少流向原始服务器的不必要流量。
通过调整这些设置并确保过期标头与TTL配置一致,可以最小化对源服务器的不必要的IMS请求,从而延长浏览器缓存中的图像的可用性。
原因
Dynamics Media允许您为特定图像设置过期时间。 图像的TTL传递后,会向源触发IMS请求。 如果源服务器向此发送304响应(未修改),则图像将与“Expires”标头一起刷新(如果图像也发生更改)。
以前,CDN的静态TTL为10小时,并且“Expires”标头对CDN缓存没有影响。 但是,此行为发生了更改,当使用CDN TTL或“Expires”标头使图像过期时,它将会与标头一起再次刷新。 简而言之,如果“Expires”标头时间短于配置的TTL,我们现在会覆盖CDN的TTL。
此CDN配置更改的影响是,现在向源服务器发出的内容的IMS请求更加频繁,并且到期时间较短。