强缓存
- expires 规定什么时候过期
- cache-control
1.max-age 缓存最大过期时间
2.no-cache 可以在客户端储存资源,每次都必须去服务端校验新鲜度,来决定从服务器获取新的资源(200)还是使用客户端的缓存(304)
3.no-store 永远都不在客户端储存资源,每次都是从服务器获取新资源
cache-control优先级大于expires
协商缓存(服务器端的缓存策略)
服务端判断客户端资源是否和服务端一致,一致返回304,否则返回200和新资源
Response Headers中,主要有两种
- Last-Modified: 资源最后修改的时间
- Etag: 资源的唯一标识(一个字符串,例如hash)
优先使用Etag,因为Last-Modified只能精确到秒级。另外如果资源重复生成,而内容不变,则Etag更精确。
正常流程 ,判断强制缓存有效后直接用缓存,如果失效再判断协商缓存。
三种操作对缓存的影响
- 正常操作:地址栏输入url,跳转链接。 缓存都有效
- 手动刷新(F5等): 强制缓存失效,协商缓存有效
- 强制刷新: 都失效
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?