http缓存原理:https://www.cnblogs.com/chenqf/p/6386163.html
https://juejin.im/entry/5993dabd518825244630ea2a
http 请求头的cache_control疑问:https://www.web-tinker.com/article/21221.html
cache_control在请求头和响应头中的取值是不同的:https://imweb.io/topic/5795dcb6fb312541492eda8c
okhttp缓存实践:https://www.jianshu.com/p/cad8cdfe8b26
这篇文章最后的实践部分自习阅读的话是可以明白的
首先我们看一下跟缓存相关的头部字段:
参考《图解http》与https://www.cnblogs.com/chenqf/p/6386163.html这篇文章


首先请求报文和响应报文都是由三部分组成的:请求/响应首部、通用首部、实体首部,所以通用首部和实体首部中的字段是共用的

pragma是http1.0的产物,已经过时,现在主要使用的是cache-control
注意我标注的颜色,红色是一起的,绿色是一起的
请求首部
响应首部

缓存方式有两种:强制缓存和对比缓存,cache-control属于强制缓存、后面的两组属于对比缓存

okhttp缓存部分
okhttp是严格按照http缓存协议来处理缓存的,比如说对于强制缓存来说,okhttp会根据cache-control来处理缓存,但是,一般后台不会返回这些个东西,至少我们后台没有返回

所以参考:https://www.jianshu.com/p/cad8cdfe8b26后面的最佳实践部分
okhttp缓存执行流程:https://www.jianshu.com/p/00d281c226f6
网友评论