HTTP缓存机制的核心思想是,对于已经请求过的资源,如果其在服务器上没有发生变化,那么浏览器就可以直接从本地缓存中获取这些资源,而无需再次向服务器发送请求。
-
强缓存
就是确定可用的缓存
浏览器和和服务器对每个缓存资源先商量一个 “保质期” ,被浏览器缓存的资源在“保质期”内是有效的
在响应头由 Expires(服务器返回的过期时间) 和 Cache-Control (优先级更高no-store: 禁用缓存 no-cache:不用强缓存,每次需向服务器验证缓存是否失效) 控制
-
协商缓存
就是不确定可用 需要协商的缓存
如果服务器端的资源没有修改,那么就会返回304状态码,表示可继续应用缓存。
如果数据有更新就会返回200状态码,服务器就会返回更新后的资源并且将缓存信息一起返回。
-
生效操作
地址栏回车/页面链接跳转/新开窗口/前进、后退:都生效
F5刷新:强缓存无效
ctrl F5强制刷新:强缓存 协商缓存都无效
-
存放地址
Chrome会根据本地内存的使用率来决定缓存存放在哪,如果内存使用率很高,放在磁盘里面,内存的使用率很高会暂时放在内存里面