【发布时间】:2012-02-05 21:13:19
【问题描述】:
我有一个关于缓存的问题。考虑我们在 Page1 中有 jQuery 库,并且有另一个指向 Page2 的 jQuery 库的链接。
在我们首先请求 Page1 然后是 Page2 时,page2 是否使用了 jQuery 的缓存版本?
它依赖于浏览器吗?还是编码风格?
谢谢
【问题讨论】:
标签: javascript jquery asp.net .net caching
我有一个关于缓存的问题。考虑我们在 Page1 中有 jQuery 库,并且有另一个指向 Page2 的 jQuery 库的链接。
在我们首先请求 Page1 然后是 Page2 时,page2 是否使用了 jQuery 的缓存版本?
它依赖于浏览器吗?还是编码风格?
谢谢
【问题讨论】:
标签: javascript jquery asp.net .net caching
如果 jquery 库的 url 保持不变,那么所有现代浏览器都会缓存该文件(如果它处于默认设置),因此在第二个和所有后续请求中,直到它过期,它将从缓存中检索。
这是使用CDN 的原因之一,因此如果用户可能访问了一个使用相同 CDN 到 javascript 文件的站点,它将从缓存中检索。
编辑
正如 Daniel Kurka 所提到的,响应标头可以声明文件不应该被缓存,但对于 jquery 文件来说几乎永远不会出现这种情况......
【讨论】:
Response Headers属于用户浏览器设置?还是我的网站?
是的,该文件将被缓存,除非您已使用另一个 url 将其添加到 page2。
【讨论】:
这取决于提供 javascript 文件时服务器的 http 标头,以及客户端浏览器的设置。
基本解释可以看一下:http://www.web-caching.com/mnot_tutorial/how.html
所以没有简单的“是”或“否”,如果您希望缓存文件,则需要验证您在 GET 响应中设置了正确的标头。
【讨论】: