Max-age和304未修改处理

2023-11-27

我一直在研究标准 - 但并不完全确定以下内容:

如果我们有一个变体(资源、图像、页面等),其缓存设置为 max-age=259200(3 天),并且服务器也在处理 ETag 和上次修改日期 - 那么当 max-age 时会发生什么?已达到年龄 - 但资源尚未修改?

我希望发生的是 3 天后 - 客户端将再次请求资源 - 如果资源没有更改,将收到 304 Not Modified 响应。如果缓存控制响应(在 304 响应期间)还仍然包含 max-age=259200 - 那么我希望客户端将继续使用其本地缓存副本,并且在另外 3 天内不再请求。

我担心会发生的是,一旦达到 max-age - 客户端将不再缓存资源 - 每次加载资源时都会发出新的请求 - 如果资源尚未被加载,则随后会出现 304 Not Modified 响应修改的。也就是说,我们现在每次使用都会收到 http 请求,而不是再使用本地缓存 3 天。

想法?


它将再缓存 3 天。RFC 2616 10.3.5:

如果缓存使用收到的 304 响应来更新缓存条目,则缓存必须更新条目以反映响应中给出的任何新字段值.

有关年龄计算的详细信息.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Max-age和304未修改处理 的相关文章

随机推荐

  • 使用 JavaFX 任务正确执行多线程和线程池

    我可以选择让用户从 FileChooser 提交多个文件以供某些代码处理 结果将是读取文件的 IO 然后对存储的数据进行实际的大量计算 允许用户选择多个文件 并且由于文件处理不依赖于所选的任何其他文件 这使我的生活更容易使用线程处理此问题
  • Azure 网站始终在线

    我有一个在 Azure 网站上运行的 WebAPI 应用程序 它在基本模式下运行 我可以选择将其设置为 始终开启 关于这到底意味着什么 网上似乎存在相互矛盾的信息 我知道效果 但 如何 在这里很重要 特别是 某些东西是否会定期自动到达我的应
  • 内存中收集的 Linq 性能

    我有一个列表 Collection users 其中包含大约 100K 用户记录 所有用户对象均从数据库完全加载 其中包含 Bio 名字 姓氏等字段 该集合在应用程序启动时从数据库中获取并保存在内存中 然后我有这样的代码 User cach
  • 为什么 webpack 捆绑为“System.register”

    我正在尝试使用 webpack 开发一个 angular2 应用程序 但最终在浏览器控制台中出现错误 未捕获的引用错误 系统未定义 当我查看捆绑的 js 时 我发现它正在使用 System register 如下所示 function mo
  • 如何在 SQLAlchemy、Flask、Python 中处理唯一数据

    您通常如何处理 Flask 中的唯一数据库条目 我的数据库模型中有以下列 bank address db Column db String 42 unique True 问题是 甚至在我检查它是否已经在数据库中之前 我收到一个错误 检查它是
  • Internet Explorer 保留 3D 修复

    以下代码适用于除 IE 10 之外的所有浏览器 MSDN网站说如下 我不明白如何应用 注意W3C 规范为此属性定义了一个关键字值preserve 3d 表示不进行扁平化 目前 Internet Explorer 10 不支持preserve
  • ios/Flutter/App.framework" 失败:没有这样的文件或目录 (2) 完成 flutter

    Hello i have an app that was working fine till yesterday i update flutter SDK after the update is finished i tried to bu
  • 对 HTML 表单的操作属性使用空 URL 是一个好习惯吗? (动作=“”)

    我想知道是否有人可以对使用空白 HTML 表单操作回发到当前页面给出 最佳实践 响应 有一个帖子询问空白 HTML 表单操作在这里做什么和一些页面 例如this one建议这很好 但我想知道人们的想法 您能做的最好的事情就是完全忽略操作属性
  • 如何更改 Webdriver Firefox 连接到本地主机的端口?

    我有一个 selenium webdriver 测试 已转换为 Maven 项目 我想通过 Jenkins 上的 xvfb 运行它 显示选择有问题 但我想尝试其他方法 例如更改端口 这是我得到的错误 org openqa selenium
  • 测量 Windows C++ 的时间、毫秒或微秒 [重复]

    这个问题在这里已经有答案了 如何在 Windows C 中测量以毫秒或微秒为单位的执行时间 我发现许多方法一调用 time NULL 但它仅以秒为单位测量时间 而秒时钟 clock t 测量 CPU 时间 而不是实际时间 我找到了本文提到的
  • 我需要在析构函数中使成员变量无效吗?

    为什么人们想要显式清除 dtor 中的 a 向量成员变量 请参阅下面的代码 清除向量有什么好处 即使它会在 dtor 代码的最后一行之后被销毁被处决 class A A values clear private std vector lt
  • 使用 python 从语料库中提取最常用的单词

    也许这是一个愚蠢的问题 但我在使用 Python 从语料库中提取 10 个最常见的单词时遇到了问题 这就是我到目前为止所得到的 顺便说一句 我使用 NLTK 来读取包含两个子类别的语料库 每个子类别有 10 个 txt 文件 import
  • 如何查看Oracle表列字符集?

    在Oracle中 我们可以使用desc返回每列的列宽 是否有任何命令可以检索每列的字符集 例如 AL32UTF8 WE8MSWIN1252 非常感谢 Oracle 中的列没有字符集 数据库有字符集和国家字符集 全部char varchar2
  • SQL 除以 2 计数()

    我有以下查询 它试图计算出某种产品占产品总数的百分比 IE 产品数量 产品总数 百分比 WITH totalCount AS SELECT CAST COUNT id as Integer as totalCount FROM TABLE
  • 使用字段扩展的 Facebook Graph API 调用对于速率限制的计数与批量调用是否不同

    我正在寻求优化我的 Facebook 应用程序 今天 我使用四个图形 API 调用进行批量调用 me me friends me likes me feed 如果我使用字段扩展将其更改为单个图形 API 调用 如下所示 me fields
  • 在 Jetpack Compose 中通过字体的上升而不是基线对齐两个文本

    我知道如何将 Jetpack Compose 中的文本与基线对齐 但现在我需要对齐两个不同大小的文本 它们在一个Row by the ascent这两种字体中较大的一个 如果有意义的话 我想将此视为 按顶部基线 对齐两个文本 Modifie
  • 偶数和奇数级别子级的选择器

    选择偶数和奇数级别子级的正确选择器是什么 我想简化当前的 CSS 同时允许无限级别 而无需手动为它们编写 CSS box max width 100 margin 25px 0px padding 15px border d1ddbd so
  • 如何为 python 3.0 的仅关键字参数导入 __future__ ?

    python2 6中的以下代码抛出语法错误 gt gt gt def f a args c File
  • AngularJS $promise then() 数据未定义

    我正在尝试将数据分配给 scope 变量 在我的 promise then 函数内部 它显示正确 但在函数外部 它显示为未定义 以下是我的控制器代码 angular module testSiteApp controller TestCon
  • Max-age和304未修改处理

    我一直在研究标准 但并不完全确定以下内容 如果我们有一个变体 资源 图像 页面等 其缓存设置为 max age 259200 3 天 并且服务器也在处理 ETag 和上次修改日期 那么当 max age 时会发生什么 已达到年龄 但资源尚未