网络服务器或网页如何提示自己重新缓存?

问题描述 投票:0回答:2

我们刚刚推出了一个相当准系统的 HTML 和 JS 网站,需要经常更改,需要尽快传播给用户 - 我们遇到了问题,不得不要求用户清除他们的缓存,并想知道是否在 HTML 文件本身或它运行的 Apache Web 服务器中有一种方法可以让浏览器在发生更改后重新缓存页面,但仅限于第一次加载时。有什么办法吗?

我们已经拒绝了更改网址的想法,因为推送更改的频率是不切实际的。

我们正在研究 HTTP 代码 205,它可以从我们的网络服务器发送并更新数据库中的用户状态(我们确实存储了可用于应用此更改的用户帐户),但我们不确定这是否可以很容易地实现,特别是如果更改的页面在文档链接的资源中更为重要,这是最常更改的内容

我们的后端是 ExpressJS,但是由于我们请求的 CORS,我们似乎无法重定向(尽管如果解决这个问题是必要的,我会很高兴听到它)

我知道 location.reload(true) 可能会提示这个,但我不确定这样做是否可行,因为我们必须推出这个更改。

html express apache browser browser-cache
2个回答
0
投票

你想多了。我建议对 mod_expires 使用较短的显式缓存时间。如果您不提供任何缓存信息,浏览器将使用您可能不喜欢的启发式算法。


0
投票

在更新网页时实现按需缓存清除可能并不简单,因为您无法选择散列页面地址或 Javascript。我建议调查

cache-control
expires
meta 标签.

例子:

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="max-age=0">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="expires" content="Sun, 23 Apr 2023 1:00:00 GMT">
© www.soinside.com 2019 - 2024. All rights reserved.