我们正在使用Azure CDN(Verizon Standard)将图像提供给电子商务网站,但是,从源头来的负载量不合理,本应多次请求应缓存在CDN中的图像。< / p>
如果经常请求图像,图像似乎会保留在缓存中(设置pingdom页面速度测试不会显示问题,它每30分钟执行一次)。
此外,如果我(使用浏览器)请求图像,则从原始位置请求并发送缩放后的图像,但是第二个请求不从CDN返回缓存的文件,而是再次调用原始位置。第三个请求从CDN返回。
Origin是一个Web应用程序,可缩放并提供请求的图像。所有对图像的请求都具有以下标头,这些标头可能会影响缓存:
cache-control: max-age=31536000, s-maxage=31536000
ETag: e7bac8d5-3433-4ce3-9b09-49412ac43c12?cache=Always&maxheight=3200&maxwidth=3200&width=406&quality=85
由于我们希望CDN缓存缩放的图像,因此将Azure CDN端点配置为缓存每个唯一的url,并且缓存行为为“如果缺少则设置”(尽管所有响应都具有上面的标头)。
将相同的来源与AWS Cloudfront一起使用可以很好地工作(但是由于我们在Azure中拥有其他所有功能,因此使其工作起来很好)。我没有找到ETag是否有任何限制或约束,但是由于它与AWS一起使用,似乎我缺少与Azure或Verizon相关的内容。