我有一个JSON资源,让我们称之为/ game / 1,这是一个持续时间很长的公共缓存。基于一些客户端逻辑,我偶尔想要刷新这个资源(例如,当我知道应该在服务器端发生某些事情时 - 在我的情况下游戏结束)。
刷新后,我希望所有下游缓存都使用新内容进行更新,因此对/ game / 1的任何请求都将获取刷新的内容。在这种情况下,使用随机参数附加查询字符串将不起作用。
我尝试在请求上添加以下标题,这似乎在IE以外的浏览器中以一种不稳定的方式工作:
headers['Cache-Control'] = 'max-age=0, no-cache';
headers['Pragma'] = 'no-cache';
使用这些标题,Chrome似乎有时刷新内容,可能是基于某些内部启发式。
有没有人对我想要达到的目标有更好的想法?
答案 0 :(得分:0)
尝试将meta http-equiv =“expires”内容设置为零。
将'expires'元标记设置为零应强制浏览器重新加载每个页面访问的所有内容。强制不断删除缓存显然会减慢页面加载速度(如果所有浏览器都遵守它!),但这可能是一种可接受的权衡。然而,这对下游缓存没有帮助,因此它远非完整的解决方案。