2012-01-09 62 views
1

如果我正在使用CDN在图片大量页面上传输图像,并且我正在使用指向相同CDN域的一组CNAME记录以加快载入速度,那么将从一个图像提供(并由浏览器缓存)图像别名通过在另一个别名提供的浏览器缓存中找到?浏览器会缓存对别名域的请求吗?

更简单地说,如果cdn1.example.com和cdn2.example.com指向同一个域,浏览器是否足够聪明,可以从cdn2加载从cdn1.example.com提供的映像.example.com的?

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

谢谢!

回答

1

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

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

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