我有一个主要是静态的站点,其中有一个特定的动态页面,每次使用新请求命中原始服务器时,我都会放置一个max-age = 7200的缓存头和一个等于新GUID的ETag。
我正在通过Fiddler检查这个.aspx页面的响应,并注意到我通过CDN访问它的前几次ETag一直在变化(意味着原始服务器被打了3-4次,尽管7200最大年龄)。然后我达到了一个点,我将在2小时(7200秒)的过程中刷新,并且最大年龄得到尊重并且ETag保持不变。
在这2个小时过去之后,我注意到一个新的响应,年轻的缓存年龄和新的ETag(假设它是“12345678”。但是,随后的请求再次忽略了我的最大年龄并从原点撤回了一个较新的副本新的ETag。我再次提出了几个请求,只是每次看到新的ETag。
然后,我再次点击刷新并且看到我在几个请求之前显示了相同的响应和ETag“12345678”。
是否发生了这种情况,因为正在调用不同的边缘节点,并且在缓存过期时它们会独立地从原点填充?是否有时我可能从不同的边缘节点获取内容,因此我获得了不同的ETag,但有时候我被锁定到一个特定的边缘节点,该节点在整个7200秒内尊重max-age? / p>