今天作项目的时候遇到一个问题,就是在ie11中 新增一条新的消息后页面刷新后,并无看到新增的消息,因而打开控制台发现前端
304 Not Modified 加时间戳没用浏览器
因而赶忙联系后台大佬能不能把cache-control改为Cache-Control:no-cache试试缓存
然而并没什么卵用,而后本身研究。服务器
主要的方式有两种,这两种都是设定请求头中的某一个字段来实现的: 一、Expires; 二、Cache-Control。因为Cache-Control设置后优先级比前者高,此次做者就先说下经过Cache-Control来控制缓存。代理
常见取值: no-cachecdn
若是request headers中,Cache-Control为no-cache。表示无论服务端有没有设置Cache-Control,都必须从从新去获取请求。blog
max-age=xxx:缓存的内容将在 xxx 秒后失效资源
max-age=0开发
max-age=0表示无论response怎么设置,在从新获取资源以前,先检验ETag/Last-Modifiedit
无论是max-age=0仍是no-cache,都会返回304(资源无修改的状况下),no-store才是真正的不进行缓存。
private: 客户端能够缓存(默认)
public: 客户端和代理服务器均可缓存(前端的同窗,能够认为public和private是同样的)
no-store: 全部内容都不会缓存,强制缓存,对比缓存都不会触发(对于前端开发来讲,缓存越多越好,so...基本上和它说886