1

我有一个 JSON 资源,我们称之为 /game/1,它被长期公开缓存。基于一些客户端逻辑,我想偶尔刷新这个资源(例如,当我知道服务器端应该发生某些事情时——在我的例子中是游戏结束)。

刷新后,我希望所有下游缓存都使用新内容进行更新,因此对 /game/1 的任何请求都将获取刷新后的内容。在这种情况下,附加带有随机参数的查询字符串将不起作用。

我尝试在 request 上添加以下标头,这似乎在 IE 以外的浏览器中以一种气质的方式工作:

    headers['Cache-Control'] = 'max-age=0, no-cache';
    headers['Pragma'] = 'no-cache';

使用这些标头,Chrome 似乎有时会刷新内容,大概是基于一些内部启发式方法。

有没有人对我想要实现的目标有更好的想法?

4

1 回答 1

0

尝试将 meta http-equiv="expires" 内容设置为零。

将“过期”元标记设置为零应强制浏览器在每次访问页面时重新加载所有内容。强制不断删除缓存显然会减慢页面加载速度(如果所有浏览器都遵守它!)但也许这是一个可以接受的权衡。然而,这对下游缓存没有帮助,因此它远非一个完整的解决方案。

于 2013-06-09T11:48:00.583 回答