【问题标题】:Is jQuery cache disabling trick needed if a server returns cache prevention headers?如果服务器返回缓存预防标头,是否需要 jQuery 缓存禁用技巧?
【发布时间】:2012-11-22 14:08:54
【问题描述】:

我需要完全防止缓存 Ajax 调用结果。 Jquery ajax() 函数为此有一个cache: false 选项。该选项将时间戳附加到每个请求的资源 (?_=1353592676117)。这应该可以完成工作,但不是很优雅。它会污染日志,可能会让不熟悉该技巧的人感到困惑。

如果服务器返回一组正确的缓存预防标头(no-cacheno-storemust-revalidate,还可以选择max-age=0),是否需要启用此选项?如果是,在哪些情况下标题不够?

【问题讨论】:

    标签: jquery http http-headers browser-cache http-caching


    【解决方案1】:

    如果您在服务器上设置正确的缓存预防响应标头,则无需设置 cache: false 标志。

    【讨论】:

      【解决方案2】:

      作为参考:我发现了一种缓存禁用标头被忽略的情况。在 Chrome 中,如果您点击后退按钮返回到执行 JavaScript 的页面,则脚本会重新执行,但对脚本所做的 Ajax 调用的响应将从缓存中返回,即使它们最初是通过禁用缓存的标头返回的.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-24
        • 1970-01-01
        • 1970-01-01
        • 2014-05-16
        • 1970-01-01
        • 2021-01-01
        • 2015-12-31
        • 2016-08-22
        相关资源
        最近更新 更多