javascript文件在什么基础上被缓存?假设我从一个站点和另一个站点加载名为“m-script.js”的文件,我使用相同名称“m-script.js”但内容不同。浏览器是否会获取新的名称,或者只是查看名称并从缓存中加载它? m-script.js文件的URL都不同(显然) 感谢。
答案 0 :(得分:4)
如果网址不同,则不会使用缓存副本。将发出新请求并下载新文件。
如果从一个网站缓存的Javascript文件在另一个网站上使用,则浏览器会出现巨大的安全性和可用性问题。
答案 1 :(得分:2)
浏览器按其完整URI缓存文件。
此主题(How to force browser to reload cached CSS/JS files?)将帮助您理解。
答案 2 :(得分:1)
由于还没有人提及它,因此HTTP缓存涉及的内容远远多于URI。存在控制该过程的各种标题,例如, Cache-Control
,Expires
,ETag
,Vary
等。始终保证请求不同的URI以获取新副本,但是这些标头可以更好地控制如何发出对潜在高速缓存资源的请求(或者不发出或发出但是接收304 Not Modified,或者......)
Here is a detailed document describing the process。您还可以使用“缓存过期”或“缓存etag”等内容来获取更具体的资源。