浏览器的缓存机制
(可以简单的了解一下这个图,相信你学习过下面的内容之后会深刻认识到这个图的内容)
概述
缓存是一种简单高效的性能优化方式,可以显著减少网络传输造成的损耗
一般数据请求分为三个过程:
- 发起网络请求
- 后端处理请求
- 浏览器响应
浏览器缓存可以帮助我们在第一步和第三步进行优化性能。
- 在第一步中,浏览器会在请求发出之前,查询请求头对应的缓存数据,如果命中缓存,就会拦截该次网络请求并且直接返回缓存副本,结束本次网络请求。
- 在第三步中,如果命中缓存,但是缓存已经过期,那么浏览器会继续发送本次请求,但是会在请求头中加上 if-none-match 字段,以供服务端进行判断etag的值是否发生变化,如果etag值相同,则证明该缓存数据没有更新,那么服务端就会直接返回 304 not modified ,浏览器刷新该缓存的新鲜度,然后将缓存副本返回。这样就大大节省了服务器响应数据
缓存策略
缓存策略可以分为强缓存和