浏览器缓存:不同站点中相同的远程文件名

3
我有几个不同的网站,它们位于不同的主机上,我在所有网站中都使用相同的JS文件,该文件从一个远程主机加载。例如,
一个单独的JS文件名my.js存储在someotherhost.net上。
这个文件名被加载到多个不同的页面(站点)中:
somedomain1.net/home.html
somedomain2.net/home.html
somedomain3.net/home.html
通过这些站点浏览器缓存my.js。但是它会为所有不同的站点使用相同的缓存吗?
或者,是否无论请求的文件名是否相同,存储在单个远程主机中并加载到不同的页面中,浏览器都会有不同的缓存?
浏览器缓存是如何工作的?
1个回答

3
是的。只要没有headers告诉浏览器不要缓存,它就会缓存每个唯一的url。
即使从许多引用页面请求文件,您的文件在浏览器缓存中应该只有一个条目。一旦从一个站点缓存,浏览器将为所有其他站点使用缓存版本,从而加快页面加载速度。
这就是从CDN(内容传递网络)加载JavaScript库的背后思想。如果您从http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js加载jquery,则用户已经在其浏览器缓存中拥有它,因此它将立即加载。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接