HttpComponents: 概述
2023-12-14 20:35:56
1. 概述
早期的Java想要实现HTTP客户端需要借助URL/URLConnection或者自己手动从Socket开始编码,需要处理大量HTTP协议的具体细节,不但繁琐还容易出错。 Apache Commons HttpClient的诞生就是为了解决这个问题,它正是我们看到的Apache HttpComponents的前生。 Apache HttpComponents将Apache Commons HttpClient进一步做职责划分,将项目分成3个部分:
模块 | 说明 |
---|---|
HttpCore | HTTP协议解析、生成器的实现 |
HttpClient | 提供基于BIO的HTTP客户端,适用于大数据量传输的请求 |
Async HttpClient | 提供基于NIO的HTTP客户端实现,适用于高并发的客户端请求 |
2. 生态位
- 早期的Java通过HttpURLConnection提供,支持有限的功能,使用复杂。
- Java 11开始提供了自带HttpClient但是并不支持文件传输,大大限制了使用场景,而且国内很多公司还停留在Java 8,这也严重制约了它的发展和流行。
- 因为出现的早,HttpComponents最广泛被采用的。成也萧何败萧何,早期的API略显迂腐,用起来并不是很舒服。
- OkHttp是目前使用体验最好的一个类库,如果是新项目推荐优先使用。
下面的图是国外码农对现有常见类库的评测,选择的时候可以根据自己的使用场景确认是否符合需求。
文章来源:https://blog.csdn.net/randavy/article/details/134883302
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!