gpt4 book ai didi

caching - 如何使用 must-revalidate 缓存 HTML 页面?

转载 作者:行者123 更新时间:2023-12-04 23:06:53 31 4
gpt4 key购买 nike

使用 must-revalidate 缓存 HTML 页面时,这意味着浏览器必须检查 Last-Modified 定义的任何更新或 Etag .但是,问题是之前max-age ,浏览器不会与网站建立任何连接来读取HTTP header (分析Last-ModifiedEtag)?

在从缓存加载页面之前,如何强制浏览器建立一个简短的连接以读取(至少)HTTP 阅读器?

我不明白 must-revalidate 的用法!在 max-age 之前检查更新不是它的责任吗? ?因为在到达 max-age 之后, 浏览器将从网站读取,从不使用本地缓存。

最佳答案

是的,您对must-revalidate的理解是错误的:它表示缓存在过时(即“过期”)时可能不会提供此内容,但必须在此之前重新验证。是的,理论上可以将缓存(和浏览器)设置为即使页面陈旧也可以提供服务,尽管标准规定如果用户这样做,他们应该警告用户。

要强制浏览器与服务器重新检查您的页面,最简单的解决方案是添加 max-age=0Cache-Control标题。这将使您的浏览器在其缓存中保留该页面的副本,但通过发送 Last-Modified 的内容将其与服务器的版本进行比较。或 ETag ,如你所愿。

以前可以加no-cache取而代之的是,但因为用户一直期望它表现为 no-store ,浏览器逐渐对它们一视同仁。

检查 HTTP/1.1 RFC, section 14.9有关标题的更多信息。

关于caching - 如何使用 must-revalidate 缓存 HTML 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9992733/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com