缓存的优点有:
- 减少了不必要的数据传输,节省流量
- 减少服务器的负担,提升网站加载性能
- 提高了客户端访问速度
- 用户体验友好
缺点:资源如果有更新但是客户端不及时更新会造成用户获取信息滞后,导致资源获取不同步。
浏览器缓存主要有两类:协商缓存和强缓存(彻底缓存)。
1.强缓存:不会向服务器发送请求,直接从缓存中或取资源,在chrome控制台的network选项中可以看到该请求返回200的状态码;
2.协商缓存:向服务器发送请求,服务器会根据这个请求的request header的一些参数(last-modified, etag)来判断是否命中协商缓存,如果命中,则返回304(Not Modified)状态码并带上新的response header通知浏览器从缓存中读取资源;
相同点:都是从客户端缓存中读取资源;
区别:强缓存不会发请求,协商缓存每次都会发请求。
可参考以下博文:
彻底弄懂强缓存与协商缓存
强缓存和协商缓存的区别