【问题标题】:Prevent caching of HTML page [duplicate]防止缓存 HTML 页面 [重复]
【发布时间】:2026-02-04 14:15:02
【问题描述】:

我有一个 HTML 页面。问题是我不希望用户每次添加新内容时都刷新页面。

我有以下代码来确保页面没有被缓存:

     <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
     <meta http-equiv="Pragma" content="no-cache"/>
     <meta http-equiv="Expires" content="0"/>

问题是,我仍然需要刷新页面才能显示最新的内容。难道我做错了什么?我应该使用其他标签吗?

【问题讨论】:

  • 这真的有用吗?我会说,使用 php
  • @RyandeVries — 既然问题说它不起作用...
  • 我认为这永远不会奏效,但我不确定!
  • 您的意思是希望内容在用户观看页面时自动更新,例如直播?或者下次用户访问您的页面时,他们似乎正在显示缓存的内容?

标签: html caching


【解决方案1】:

您展示的 Codesn-p 使浏览器每次访问时都会加载网站,这在您执行频繁更新但仍然有静态页面的情况下很有用。

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>

如果您希望它执行实时更新,例如在 (g)mail 帐户中执行的操作,您需要让它自行刷新(部分页面)。在这种情况下使用 Javascript,如显示的 in this question 或 ajax 调用。

$('#something').click(function() {
    location.reload();
});

【讨论】:

  • Garrin,我有一个 HTML 页面,是的,我经常更新。因此 不应该工作吗?看来我还需要刷新
  • 我仍然不确定您需要/想要做什么。如果您在用户仍在观看您的页面时确实需要实时更新,那么您必须采用 Javascript/Ajax 解决方案。但是,如果您希望用户每次访问时都拥有该网站的最新版本,例如您每天更新您的网站,那么您的解决方案就足够了。
  • 原因是我们正在对静态页面的html页面进行更新。我们每两天做一次。我希望用户看到它的最新版本,而不是点击刷新。
  • 我读了一些关于它的内容,根据this question,您的 sn-p 似乎是完整的。如果在这种情况下我无法提供帮助,我很抱歉。
  • 这仅适用于 HTML 文件本身,还是适用于所有引用的源?另外,这也适用于 HTML5 吗?
【解决方案2】:

那里的值没问题,但是meta http-equiv is highly unreliable。您应该使用真正的 HTTP 标头(具体操作方式取决于您的服务器,例如for Apache)。

【讨论】: