抽絲剝繭okhttp(三)Response部分

weixin_34148456發表於2018-03-29

接上文 抽絲剝繭okhttp(二) https://www.jianshu.com/p/77f71946ef44

看完了關於http網路請求過程在okhttp中的體現 ,下面來到響應的部分。

4761154-6f0a32ec4f7101a6.png
image.png

4761154-1243891a4814b8b7.png
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協議開發的。這些成員變數封裝起來各自所代表的功能。並提供相應的獲取方法給外部。對於成員變數的類不復雜也不贅述。

相關文章