HTTP 缓存机制作为 Web 应用性能优化的重要手段,也是前端面试中经常被光顾的常客。阅读本文,我们主要能了解到http缓存的概念、用途以及如何应用它。
http缓存
浏览器通过网络获取资源缓慢且耗时,一次http请求需要经过三次握手来和服务器建立链接,对于大一点的数据更需要多次往返,因此我们引入http缓存,http缓存主要针如css,js,图片等更新频率不大的静态文件。主要好处如下:
1 加快网页加载速度,提升用户体验
2 减少服务器的负担,提升网站性能
3 减少了冗余的数据传输,节省网络流量和带宽
http缓存主要通过服务端在响应头告诉浏览器是否应该缓存资源、是否强制校验缓存、缓存多长时间等信息。http缓存主要分为强缓存和协商缓存两种。
强缓存
强缓存主要通过响应头中的Expires
或者Cache-Control
两个字段来控制的,用来表示资源的缓存时间。
1. Cache-Control: 请求/响应头,缓存控制字段,可以说是控制http缓存的最高指令,可以有多个值,意义也各不相同:
- no-store:禁止缓存,每次请求都要向服务器重新获取数据
- no-cache:也缓存,但是在使用已缓存的数据前,需要发送带验证器的请求到服务器。主要是结合协商缓存