javascript - HTTP 缓存控制

标签 javascript firefox http-headers cache-control xmlhttprequest

我是 HTTP 缓存新手,确实需要一些帮助...

  1. 我看到很多人在向服务器发送 XHR 时设置了 "Cache-Control" header 。 这样做的目的是什么?请求头也需要缓存吗?

  2. 我已经为 XHR 设置了此 header : Cache-Control max-age=30, Must-revalidate,但是当我在 30 秒后刷新(甚至强制刷新)时,Firefox 3.6.13 似乎不会重新验证文件。服务器也没有访问登录。这是因为我没有为 Apache 中的文件设置过期 header 吗?

    来自 Firebug 日志:

    Response Headers
    Date Sat, 22 Jan 2011 09:59:21 GMT
    Last-Modified Thu, 20 Jan 2011 09:05:11 GMT
    Etag "3e000000023ca7-20d-49a436e5b3413"

    Request Headers
    Keep-Alive 115
    Connection keep-alive
    Content-Type application/xml
    Cache-Control max-age=30, must-revalidate

    文件已被修改,但 Firefox 甚至不执行条件获取。 响应日期Last-Modified根本不更新。

最佳答案

客户端也可以发送缓存控制指令。看: https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p6-cache-12#section-3.2

不幸的是,浏览器(还)不会在 XHR 设置时尊重它们,但干预代理缓存通常会。

关于javascript - HTTP 缓存控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4767502/

相关文章:

javascript - 离开页面时 React Native 不运行函数

php - 如何防止php站点的浏览器缓存

JavaScript 对象获取子对象中的属性值

javascript - 我想在 css 属性中使用 Javascript 函数

javascript - Vue 3 事件命名约定让我感到困惑

javascript - 我的附加 SDK 内容脚本如何与网站页面脚本交互?

CSS3 动画延迟在 Firefox 中导致问题

html - Chrome /火狐 : Latest versions with major HTML5/CSS3 improvements?

java - 您如何启动/强制下载驻留在外部的 PHP 或其他语言的文件?

jQuery iframe.load 状态