链接: https://pan.baidu.com/s/13bG4r_gDIWovW1DGYgZ79g
提取码: m0wa
关于前端缓存
缓存是性能优化中非常重要的一环,浏览器的缓存机制对开发是非常重要的知识点:
- 强缓存
- 协商缓存
- 缓存位置
强缓存
当浏览器发起请求时,首先会先检查强缓存,如果命中则不进行请求,资源直接从磁盘或者缓存中读取
那浏览器如何检查是否命中强缓存呢?
在http/1.0中使用的是Expires字段,而http/1.1中使用的是Cache-Control字段
Expires
Expires指的是过期时间,存在请服务器返回响应头中,它的作用就是告诉浏览器在这个过期时间之前不需要再次发起请求,资源可以在缓存中获取。 例如:
Expires: Wed, 22 Nov 2021 08:41:00 GMT
表示资源在2021年11月22号8点41分过期,过期了就得向服务端发请求。
但是这种检查方式有个坑点,就是服务端(服务器)和客户端(浏览器)的时间可能会不一致,导致服务端返回的时间会不准确,所以HTTP/1.1使用Cache-Control来检查强缓存
Cache-Control
在Http1.1中,采用的