我正在尝试确定何时新设置的缓存控制标头将由先前缓存页面的最终用户读取。
假设用户加载的页面没有设置任何缓存控制标头。然后,在服务器级别添加cache-control: no-cache, no-store
标头。是否会迫使以前访问过并缓存页面的用户获得最新版本?还是由于最初没有设置标头,其当前版本是否必须按照其浏览器规则过期?
后者。除非用户代理请求资源,否则不会推送标题。但是,请参见this question。如果客户端提出条件请求以验证其缓存,则这些标头也会在304个响应中发送。 spec says缓存必须
使用304(未修改)中提供的其他标头字段响应以替换相应标头的所有实例存储的响应中的字段。