OkHttp是一个针对Android和Java应用的Http和SPDY客户端。(SPDY参考《SPDY百科解释》)
HTTP是现代网络应用的通用协议。它决定了我们如何交换数据或者媒体。高效的HTTP通信可以提高数据加载速度并节省带宽。
OkHttp是一个高效的HTTP客户端。
.支持HTTP/2 和 SPDY,允许所有针对同一主机的请求共享同一个socket。
.在SPDY不可用的情况下,通过连接池降低请求延时。
.透明的GZIP压缩下载尺寸。
.响应缓存完全避免了重复请求。
OkHttp会在出现网络问题时不断请求,会从通用的连接问题中默默恢复。如果你的服务配置有多个IP地址,那么,在第一个地址请求失败的情况下,OkHttp会试图选择其他地址进行请求。对于使用IPv4+IPv6及放置在冗余数据中心的服务而言,这是必要的。OkHttp通过最新的TLS特性(SNI,ALPN)实例化新的连接,如果握手失败,则降低版本到TLS 1.0。
OkHttp很易于使用,2.0的API通过流畅的构建器设计,并且保持不变。支持通过同步阻塞调用和异步回调调用。
你可以在不改变网络通信代码的情况下,尝试使用OkHttp。
okhttp-urlconnection模块实现了类似于java.net.HttpURLConnection的API,okhttp-apache模块实现了类似Apacheo-HttpClient的API。
OkHttp支持Android 2.3以上。Java版本最低要求1.7。