缓存的优点
1.缓解服务器压力,减少请求数
2.提升性能,减少响应时间
3.减少带宽消耗
缓存类型
1.数据库缓存 2.cdn缓存 3.代理服务器缓存 4.浏览器缓存
缓存位置
优先级为 Service Worker(浏览器缓存)、Memory Cache(内存缓存)、Disk Cache(硬盘缓存)、Push Cach(推送缓存)
何时使用缓存
强缓存
1. 如何设置强缓存
1.Cache-control(Cache-Control优先级高)
public:资源客户端和服务器都可以缓存
privite:资源只有客户端可以缓存。
no-cache:客户端缓存资源,但是是否缓存需要经过协商缓存来验证
no-store:不使用缓存。
max-age:缓存有效期
2.pragma
no-cache:客户端缓存资源,但是是否缓存需要经过协商缓存来验证
3.expreis
2. 缓存位置
CPU、内存、硬盘
CPU、内存、硬盘都是计算机的主要组成部分。 CPU:中央处理单元(CntralPocessingUit)的缩写,也叫处理器,是计算机的运算核心和控制核心。电脑靠CPU来运算、控制。让电脑的各个部件顺利工作,起到协调和控制作用。 硬盘:存储资料和软件等数据的设备,有容量大,断电数据不丢失的特点。 内存:负责硬盘等硬件上的数据与CPU之间数据交换处理。特点是体积小,速度快,有电可存,无电清空,即电脑在开机状态时内存中可存储数据,关机后将自动清空其中的所有数据。
协商缓存
由两组header字段控制:Etag和If-None-Match、Last-Modified和if-modified-since
Etag If-None-Match:
客户端第一次请求资源时,响应头会加上last-modified,Last-Modify是一个时间标识该资源的最后修改时间,再次请求时,请求头加上if-modified-since,if-modified-since为返回的Last-Modify,服务器根据资源的最后修改时间判断是否命中缓存
Etag If-None-Match:
原理和Etag If-None-Match一样,只是Eatg是一个hash值