HTTP及okhttp的優勢
http結構
請求頭
- 列表內容
- 表明本次請求的客戶端
- 本次請求的cookie
- 本次請求希望返回的數據類型
- 本次請求是否采用數據壓縮等等一系列設置
請求體
- 指定本次請求所使用的方法
- 請求所使用的方法
響應頭
- 服務器標識
- 狀態碼
- 內容編碼
- cookie 返回給客戶端
響應體
本次請求所返回的數據
工作流程
1.首先客戶端與服務器需要建立連接
2.建立連接后,客戶機發送一個請求給服務器
3.服務器街道請求后,給予相應的響應信息
4.客戶端接收服務器所返回的信息,連接斷開
http的優點
簡單快速
靈活
無連接
無狀態
SPDY
1. SPDY 是一種HTTP的兼容協議
2.多路復用請求
3.對請求劃分優先級
4. 壓縮HTTP頭
HTTP2.0
基于SPDY,IETF定制的新一代HTTP協議
更安全的SSL
OkHTTP的優勢
- 為我們android客戶端支持HTTP2.0提供了途徑
- 由著名的square團隊開發
- 支持SPDY,HTTP2.0 , 共享同一個Socket來處理 同一個服 務器的所有請求
- 如果SPDY不可用, 則通過連接池來減少請求延時
- 無縫的支持GZIP來減少數據流量
- 緩存響應數據來減少重復的網絡請求
- 可以從很多常見的連接問題中自動重連
OkHttp的架構設計
OkHttp的主干流程圖
多路復用原理
重連機制
類圖
從類圖中可以看出OkHTTPClient 是OkHttp核心類他依賴了其他類的應用。