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

时间:2011-03-01 07:27:06

标签: javascript caching

我在不同的主机中有几个不同的站点,我在所有站点中使用相同的JS文件,这些文件是从一个唯一的远程主机加载的。例如,

一个JS文件名 my.js 存储在 someotherhost.net

此文件名加载在几个不同的页面(站点)中:
somedomain1.net/home.html
somedomain2.net/home.html
somedomain3.net/home.html

浏览这些网站浏览器缓存 my.js 。但它会为所有不同的网站使用相同的缓存吗?

或许请求的文件名是否相同,存储在单个远程主机中并加载到不同的页面中,浏览器是否会有不同的缓存无关紧要?

浏览器缓存的工作原理是什么?

1 个答案:

答案 0 :(得分:3)

是。浏览器将缓存每个唯一网址,前提是没有headers告诉它不要。

您的文件在浏览器缓存中应该有一个条目,即使是从多个引用页面请求它。一旦从一个站点缓存,浏览器将为所有其他站点使用缓存版本,从而加快页面加载速度。

这是从CDN(内容传送网络)加载JavaScript库的想法。如果你从http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js加载jquery,那么用户已经在浏览器缓存中有了 good 机会,因此它会立即加载。