【问题标题】:Okhttp or HTTPClient : Which offers better functionality and more efficiency? [closed]Okhttp 或 HTTPClient :哪个提供更好的功能和更高的效率? [关闭]
【发布时间】:2017-02-22 13:25:40
【问题描述】:

要发出 http 请求,JAVA 中有一些 API 可供选择,例如 Apache HttpClient 和 Okhttp。 Apache HttpClient 成熟且应用广泛,Okhttp 似乎越来越流行(我不确定)。

我想知道的是,哪个更好,或者 Apache HttpClient 有一些 Okhttp 没有的功能,还是反过来?主要是在服务器端说,在Android App中使用也很好。

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

参考:

URLConnection 和 HttpClient 之间有一个问题: URLConnection or HTTPClient : Which offers better functionality and more efficiency?

【问题讨论】:

  • 开销在网络和服务器上。不在客户端 API 中。

标签: java httpclient okhttp


【解决方案1】:

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

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

【讨论】:

  • 以上是真的,两个库几乎是等价的。选哪个只是口味问题
【解决方案2】:

我都用过。 Okhttp 更简单,但也有局限性。因此,在创建单例连接后,您不能像配置一样更改超时。这是一个严重的限制。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-09-01
  • 2020-06-18
  • 1970-01-01
  • 2015-03-14
  • 2012-04-14
  • 2015-07-05
  • 1970-01-01
相关资源
最近更新 更多