-
HttpClient
是Apache的一个三方网络框架,网络请求做了完善的封装,api众多,用起来比较方便,开发快;
但代码很复杂,冗余代码多,不建议直接使用。奇怪的是,我们公司封装的调用接口底层使用的是这种方式 -
RestTemplate
是 Spring 提供的用于访问Rest服务的客户端, RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率
使用方式
简言之,就是封装请求头、请求体、设置响应对象,通过restTemplate提供的方法调用;用起来还算方便 -
OkHttp
- OkHttp是一个高效的HTTP客户端,允许所有同一个主机地址的请求共享同一个socket连接;连接池减少请求延时(简单来说,响应速度快);透明的GZIP压缩减少响应数据的大小;缓存响应内容,避免一些完全重复的请求。
当网络出现问题的时候OkHttp依然坚守自己的职责,它会自动恢复一般的连接问题,如果你的服务有多个IP地址,当第一个IP请求失败时,OkHttp会交替尝试你配置的其他IP,OkHttp使用现代TLS技术(SNI, ALPN)初始化新的连接,当握手失败时会回退到TLS 1.0。不断请求尝试连接
最近了解了一个新的HttpClient框架,被称为spring-boot项目下最优雅的http客户端工具——Retrofit
它是基于OKHttp
,其最大的特性的是支持通过接口的方式发起HTTP请求