如果我使用CDN在图像密集型页面上传递图像,并且我使用一组指向相同CDN域的CNAME记录以加快加载速度,则从一个别名提供(并由浏览器缓存)的图像在从另一个别名提供时是否会在浏览器缓存中找到?
更简单地说,如果cdn1.example.com和cdn2.example.com指向相同的域,那么浏览器是否足够智能,能够在随后从cdn1.example.com调用时从缓存中加载从cdn2.example.com提供的图像?
我的理解是,这种情况是可行的。
谢谢!
发布于 2012-01-09 18:45:10
不,这行不通的。浏览器根据它们的URL缓存资源。如果URL不同,则缓存不起作用。
参见"Serve resources from a consistent URL" in Page Speed's recommendations。
您应该对每个镜像使用相同的域名分片。根据您的后台技术,实现一个简单的函数,根据镜像名称计算域名。一个简单的解决方案是hashcode(imageName) % n,其中n是域分片的数量。这样,您就不必记住哪个镜像属于哪个域存储桶了。
https://stackoverflow.com/questions/8784797
复制相似问题