HTTP缓存
缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快。当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。而http缓存主要针如css,js,图片等更新频率不大的静态文件。
缓存的优缺点
优点
- 加快网页打开速度
- 减少网络宽带的消耗
- 减轻服务器端的压力
缺点
- 服务器缓存中的数据变了,浏览器不知道数据是否发生改变。
- 不利于做信息采集
前端缓存
HTTP缓存
HTTP缓存规则主要在HTTP协议头和HTML的meta标签中定义。他们分别从过期机制和验证机制两个维度来规定浏览器是否可以直接使用缓存中的副本,还是需要去源服务器获取更新的版本。
过期机制(缓存副本的有效期,浏览器认为缓存生效的情景:)
- 控制头信息中含有完整的过期时间,并且仍在有效期内;
- 浏览器已经使用过这个缓存副本,并在一个会话中已经检查过的;
验证机制
服务器返回资源的时候有时在控制头信息带上这个资源的实体标签Etag(Entity Tag),它可以用来作为浏览器再次请求过程的校验标识。如过发现校验标识不匹配,说明资源已经被修改或过期,浏览器需求重新获取资源内容。
参数说明
- Cache-Control 和 Expires
Expire