OkHttp3

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 缓存减少不必要的请求

你可能感兴趣的:(OkHttp3)