javascript文件在什么基础上被缓存?假设我从一个站点加载了一个名为“m-script.js”的文件,而在另一个网站上我使用了相同的名称“m-script.js”但内容不同。浏览器会获取新的,还是只查看名称并从缓存中加载它?两个 m-script.js 文件的 url 不同(显然)。
谢谢。
user235273
问问题
1235 次
3 回答
4
如果 url 不同,则不会使用缓存的副本。将发出新请求并下载新文件。
如果从一个网站缓存的 Javascript 文件在另一个网站上使用,浏览器将存在巨大的安全性和可用性问题。
于 2012-05-30T06:01:32.210 回答
2
浏览器通过完整的 URI 缓存文件。
这个线程(如何强制浏览器重新加载缓存的 CSS/JS 文件?)将帮助您理解。
于 2012-05-30T06:01:28.380 回答
1
由于还没有人提到它,因此 HTTP 缓存涉及的不仅仅是 URI。有各种控制进程的标头,例如Cache-Control
、Expires
、ETag
、Vary
等。始终保证请求不同的 URI 以获取新副本,但是这些标头可以更好地控制对潜在缓存资源的请求如何发出(或未发出,或发出但接收回 304 Not Modified,或...) .
这是描述该过程的详细文档。您还可以搜索“缓存过期”或“缓存 etag”等更具体的资源。
于 2012-05-31T06:10:18.777 回答