抽丝剥茧okhttp(三)Response部分

接上文 抽丝剥茧okhttp(二) https://www.jianshu.com/p/77f71946ef44

看完了关于http网络请求过程在okhttp中的体现 ,下面来到响应的部分。

抽丝剥茧okhttp(三)Response部分_第1张图片
image.png

抽丝剥茧okhttp(三)Response部分_第2张图片
http响应报文.png

这是Response的类图和http响应报文的图。Response 没有父子类,而且也是不可更改的,因为网络响应一样也是不可更改的,独一的,不可重用的。从类图以我们可以得出与Response相关的几个类。
Request :我们可以从响应中取到原始最初我们发出的那个请求对象。
Protocol:协议版本,对应http响应 第一行上面的http协议版本。
code:第一行上面的http响应码 2xx 3xx 4xx 5xx 。
message:第一行上面的http响应码 后面的http status message 如上图的OK
headers:对应头部字段
body:对应响应体
三种Response:网络 缓存 上次之前的
sentRequestAtMills :发出请求的时间戳
receivedResponseAtMills:接收响应的时间戳。
CacheControl :对应header里面一些缓存策略和本地缓存策略的对象。

就这样一条条对应下来,可以说又是完全的根据http协议开发的。这些成员变量封装起来各自所代表的功能。并提供相应的获取方法给外部。对于成员变量的类不复杂也不赘述。

你可能感兴趣的:(抽丝剥茧okhttp(三)Response部分)