jeddygong / frontend-document

前端每日一练,大厂面试题目,涵盖前端所有知识点,每天进步一点点。HTML/CSS/Javascript/Nodejs/Typescript/ECMAScript/Vue/React/Webpack/小程序/网络/设计模式/数据结构/算法/安全/工程化/性能优化
https://jeddygong.github.io/frontend-document
MIT License
10 stars 4 forks source link

[HTTP] [2021-01-08 更新] 说一下HTTP的缓存策略,有什么区别,分别解决了什么问题? #8

Open jeddygong opened 3 years ago

jeddygong commented 3 years ago

一、浏览器的缓存策略

​ 浏览器每次发起请求时,现在本地缓存中查找结果以及缓存标识,根据缓存标识来判断是否使用本地缓存。如果缓存有效,则使用本地缓存;否则,则向服务器发起请求并携带缓存标识。

​ 根据是否需要向服务器发起HTTP请求,将缓存过程划分为两个部分:强制缓存和协商缓存,强制缓存优先于协商缓存。

HTTP缓存都是从第二次请求开始的:

1.1 强缓存

1.1.1 强缓存 expires
优势特点
强缓存 Cache-Control

1.2 协商缓存