OkHttp3

weixin_34007291發表於2016-04-24

square 開源的 http 工具類

專案地址:https://github.com/square/okhttp

文件介紹:http://square.github.io/okhttp/

介紹

HTTP/2 和 SPDY 支援允許所有用到同一個host的請求共享一個socket。

連線池減少請求延時 (如果 SPDY 不可用).

透明的GZIP支援,減少下載大小。

快取Response以減少網路去做完全重複的請求。


OkHttp在網路有問題的時候優秀表現:

- 它會靜默從常見的連線問題中恢復。

- 如果你的服有多個IP地址對應,OkHttp會在首次連線失敗的時候嘗試其他地址。

- OkHttp使用現代的TLS features (SNI, ALPN))  (安全傳輸層協議)來初始化連線, 並在握手失敗的時候倒回到TLS 1.0。

OkHttp 2.0的API設計為流式builders和immutability,同時支援同步阻塞呼叫和非同步回撥。

使用 OkHttp 無需重寫您程式中的網路程式碼。OkHttp實現了幾乎和java.net.HttpURLConnection一樣的API。如果你使用了 Apache HttpClient,則OkHttp也提供了一個對應的okhttp-apache 模組。

OkHttp支援Android 2.3和以上,對Java要求至少1.7。

對了,OkHttp還用了Okio來做快速I/O和可調整大小的buffer。

SPDY

SPDY協議是Google提出的基於傳輸控制協議(TCP)的應用層協議,通過壓縮、多路複用和優先順序來縮短載入時間。該協議是一種更加快速的內容傳輸協議。

http://baike.baidu.com/link?url=AdF2F-JkiRu6IFa1Lkg-84v75NtthxSWGxbI4fRtGrZwUIGvo2FUe2PXQcHGn33TMMA2nH2rUPMmVWuFRuEpke5t8myMzfpca-s3x7k5b4q

TSL:

安全傳輸層協議(TLS)用於在兩個通訊應用程式之間提供保密性和資料完整性。該協議由兩層組成: TLS 記錄協議(TLS Record)和 TLS 握手協議(TLS Handshake)。

http://baike.baidu.com/link?url=61azXORC2tbjGfQrFnBLVSLiJlSLNxRchzuRIUG0jk6z3d29Gf6wPEUnXwp_H5FbznZLh1f4YtreVlhsDzqMTq


特點:

(1) 支援 SPDY(http://zh.wikipedia.org/wiki/SPDY)協議。SPDY 協議是 Google 開發的基於傳輸控制協議的應用層協議,通過壓縮,多路複用(一個 TCP 連結傳送網頁和圖片等資源)和優先順序來縮短載入時間。

(2) 如果 SPDY 不可用,利用連線池減少請求延遲

(3) Gzip 壓縮

(4) Response 快取減少不必要的請求

相關文章