Okhttp或HTTPClient:哪个提供更好的功能和更高的效率?[已关闭]

2022-09-02 13:44:45

要发出http请求,JAVA中有一些API替代方案,例如Apache HttpClient和Okhttp。Apache HttpClient是成熟且广泛使用的,Okhttp似乎越来越受欢迎(我不确定)。

我想知道的是,哪个更好,或者Apache HttpClient有一些Okhttp没有的功能,或者相反?大多数情况下,我说的是服务器端,谈论在Android应用程序中使用也非常好。

我希望可以列出一些要点,因此我可以弄清楚Apache HttpClient和Okhttp之间的区别。

参考:

URLConnection和HttpClient之间有一个问题:URLConnection或HTTPClient:哪个提供更好的功能和更高的效率?


答案 1

我建议使用okhttp。原因如下:https://github.com/square/okhttp/issues/3472

OkHttp具有HTTP / 2,内置响应缓存,Web套接字和更简单的API。它具有更好的默认值,并且更易于有效使用。它有一个更好的URL模型,一个更好的cookie模型,一个更好的标头模型和一个更好的调用模型。OkHttp使取消呼叫变得容易。OkHttp 具有精心管理的 TLS 默认值,这些默认值是安全的,并且广泛兼容。Okhttp与Retrofit合作,这是REST的一个出色的API。它还与Okio一起使用,Okio是一个很棒的数据流库。OkHttp是一个小型库,具有一个小依赖项(Okio),并且需要学习的代码较少。OkHttp的部署更加广泛,有十亿台Android 4.4+设备在内部使用它。


答案 2

我两者都用了。Okhttp更容易,但它有局限性。因此,您无法在创建单例连接后更改配置之类的超时。这是一个严重的限制。


推荐