2012-01-09 73 views
0

我有一个关于缓存的问题。考虑我们在Page1中有jQuery库,并且有另一个链接到Page2的jQuery lib。在所有页面缓存javascript文件

页面2是否使用jQuery的缓存版本,我们首先请求Page1然后是Page2?

它取决于浏览器?或编码风格?

感谢

回答

1

如果jquery库的url保持不变,那么所有现代浏览器都会缓存该文件,如果它处于默认设置,那么在第二个和所有后续请求中,直到它过期,它将从缓存中检索。

这是使用CDN的原因之一,因此如果用户访问了使用与JavaScript文件相同的CDN的站点,它将从缓存中检索。

编辑

正如丹尼尔Kurka提到的,响应头可以说明该文件不应该被缓存,但是这几乎从不应该与一个jQuery文件的情况下...

+0

我们可以使用服务器创建CDN吗?创造CDN我们需要什么? – Arian 2012-01-09 10:06:44

+0

您通常会使用现有的CDN,例如Google或Microsoft或其他大型用户,这些用户很多都会被使用。 Jquery也有自己的CDN,只是谷歌jQuery的CDN – 2012-01-09 10:10:32

+0

你是正确的,如果你使用CDN(这就是CDN的意思) – 2012-01-09 10:18:27

0

是该文件将被缓存,除非你已经添加了它与其他网址PAGE2。

0

这取决于服务于JavaScript文件时服务器的http标题以及客户端浏览器的设置。

对于一个基本的解释,你可以看看:http://www.web-caching.com/mnot_tutorial/how.html

因此,有没有简单的是或否,如果你希望缓存你需要确认你在你的GET设置适当的头文件响应。