工作中遇到的问题
实际工作中有时候会发现前端更新线上的项目后,用户浏览器显示的还是旧版的页面,需要刷新浏览器才能获取最新的页面内容。或者前端有个下载静态资源的链接,文件改变而链接不变的情况下我们总是下载到老版本的文件,而不是重新从静态资源服务器去请求。
浏览器缓存是前端优化的一个重要问题,缓存可以带来很多好处:
- 减少冗余的数据传输,节省带宽;
- 减轻服务器的请求负担,有缓存就可以少向服务器发送请求,尤其是对于一些访问量大的网站这点还是很重要的;
- 资源从缓存中读取,无需向服务器发送请求再等待返回,加快了客户端的访问速度。
但是当用户访问时浏览器读取的是缓存资源,那么用户就获取不到最新的页面,影响用户使用。就会造成上述的问题出现。缓存是把双刃剑,在享受它带来的好处和便利时我们也要接受和搞明白它可能造成的问题。
浏览器缓存
浏览器缓存主要指http缓存,其机制是根据http报文的缓存标识进行相应操作。
http状态码
打开控制台的Network栏,注意Status和Size栏,会看到200状态 disk cache和内存缓存。