我在不同的主机中有几个不同的站点,我在所有站点中使用相同的JS文件,这些文件是从一个唯一的远程主机加载的。例如,
一个JS文件名 my.js 存储在 someotherhost.net 。
此文件名加载在几个不同的页面(站点)中:
的 somedomain1.net/home.html
的 somedomain2.net/home.html
的 somedomain3.net/home.html
浏览这些网站浏览器缓存 my.js 。但它会为所有不同的网站使用相同的缓存吗?
或许请求的文件名是否相同,存储在单个远程主机中并加载到不同的页面中,浏览器是否会有不同的缓存无关紧要?
浏览器缓存的工作原理是什么?
答案 0 :(得分:3)
是。浏览器将缓存每个唯一网址,前提是没有headers告诉它不要。
您的文件在浏览器缓存中应该有一个条目,即使是从多个引用页面请求它。一旦从一个站点缓存,浏览器将为所有其他站点使用缓存版本,从而加快页面加载速度。
这是从CDN(内容传送网络)加载JavaScript库的想法。如果你从http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js
加载jquery,那么用户已经在浏览器缓存中有了 good 机会,因此它会立即加载。