是否会通过浏览器缓存对别名域的请求?

时间:2012-01-09 06:47:40

标签: http optimization browser dns cdn

如果我使用CDN在图像密集的页面上传送图像,并且我使用一组指向同一CDN域的CNAME记录以加快加载速度,那么图像将由(由浏览器缓存)提供从另一个别名提供时,在浏览器缓存中找到一个别名?

更简单地说,如果cdn1.example.com和cdn2.example.com指向同一个域,那么当随后从cdn2调用时,浏览器是否足够聪明以从缓存加载从cdn1.example.com提供的映像。 example.com?

我的理解是这种情况会起作用。

谢谢!

1 个答案:

答案 0 :(得分:1)

不,它不会起作用。浏览器根据其URL缓存资源。如果URL不同,则缓存不起作用。

请参阅"Serve resources from a consistent URL" in Page Speed's recommendations

您应该为每个图像使用相同的域分片。根据您的后端技术,实现一个简单的功能,根据图像名称计算域号。一个简单的解决方案是hashcode(imageName) % n,其中n是域分片的数量。这样,您就不必记住哪个图像属于哪个域桶。