http缓存控制

缓存过程

1. 在浏览器第一次发起请求时,本地无缓存,向web服务器发送请求,服务器起端响应请求,浏览器端缓存。在第一次请求时,服务器会将资源的最后修改时间last-modify,客户端会记录该事件,同时服务器还会生成一个Etag值,发送给客户端,客户端保存。还会有cache-Control:max-age和expires字段,用来表示缓存的过期时间。

2. 当浏览器后续再进行请求发送时,先通过cache-Control或expires判断本地缓存是否过期,cache-Control优先级高,如果没有则直接使用缓存(强缓存,此次请求不会与服务器进行通信),否则就会向服务器发送请求,请求头中的if-modify-since对应服务器响应的last-modify,if-None-Match对应etag。etag优先级高于last-modify

3. 服务器接收到请求后,先通过if-None-Match判断资源是否修改,或者通过if-modify-since判断,如果没有修改,则返回304(not modify),表示缓存可以直接使用(协商缓存),否则响应对应的资源。

http缓存控制

 

常用请求响应字段

(23条消息) 浅谈http中的Cache-Control_小小郭-CSDN博客_cache-control:no-cache

cache

上一篇:解析create-react-app


下一篇:数加使用自定义调度资源进行数据同步