【问题标题】:cache javascript file in all pages在所有页面中缓存 javascript 文件
【发布时间】:2012-02-05 21:13:19
【问题描述】:

我有一个关于缓存的问题。考虑我们在 Page1 中有 jQuery 库,并且有另一个指向 Page2 的 jQuery 库的链接。

在我们首先请求 Page1 然后是 Page2 时,page2 是否使用了 jQuery 的缓存版本?

它依赖于浏览器吗?还是编码风格?

谢谢

【问题讨论】:

    标签: javascript jquery asp.net .net caching


    【解决方案1】:

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

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

    编辑

    正如 Daniel Kurka 所提到的,响应标头可以声明文件不应该被缓存,但对于 jquery 文件来说几乎永远不会出现这种情况......

    【讨论】:

    • 我们可以使用服务器创建 CDN 吗?用于创建 CDN 我们需要什么?
    • 您通常会使用现有的 CDN,如 google 或 microsoft 或将大量使用的大公司。 jquery也有自己的cdn,就是google jquery CDN
    • 你是对的,如果你使用 CDN,标题将被正确设置(这就是 CDN 的重点)
    • 这些Response Headers属于用户浏览器设置?还是我的网站?
    • 这是来自您从中检索 javascript 文件的服务器的 http 响应,如果您目前不使用 cdn,我想在这个阶段将是您的服务器。您可以使用 fiddler(www.fiddler2.com) 查看文件是否被缓存
    【解决方案2】:

    是的,该文件将被缓存,除非您已使用另一个 url 将其添加到 page2。

    【讨论】:

      【解决方案3】:

      这取决于提供 javascript 文件时服务器的 http 标头,以及客户端浏览器的设置。

      基本解释可以看一下:http://www.web-caching.com/mnot_tutorial/how.html

      所以没有简单的“是”或“否”,如果您希望缓存文件,则需要验证您在 GET 响应中设置了正确的标头。

      【讨论】:

        猜你喜欢
        • 2013-11-05
        • 1970-01-01
        • 2016-11-30
        • 1970-01-01
        • 1970-01-01
        • 2016-04-23
        • 1970-01-01
        • 2019-10-19
        • 1970-01-01
        相关资源
        最近更新 更多