web-dev-qa-db-ja.com

コモンズ間の関係-httpclientとhttpclient、どちらもApacheから

これら2つのライブラリ間の関係または違い。

31
user496949

Commons HttpClient は、HttpClient3.1を作成した古いプロジェクトです。プロジェクトは、より大きな Apache HttpComponents プロジェクトに包含され、 HttpClient 4.x が生成されました。

かなり紛らわしく、少し政治的ですが、古いCommonsHttpClientライブラリは非推奨になりました。

49
skaffman

これら2つのライブラリの違い。

はい。それらは非常に異なります。パッケージ名は最初は異なり、4.xAPIは3.xAPIよりもはるかに豊富です。

まず、4.x HttpClient APIは、HTTPのクライアント側とサーバー側の両方をサポートするように設計されたコアライブラリに基づいています。コアはブロッキングI/Oとイベント駆動型I/Oの両方をサポートするように設計されており、後者をサポートするAsyncHttpClientAPIトップがあります。このフレームワークには、Cookie管理、接続管理、クライアント側認証、プロキシルーティング、リソース処理、ストリーミングなどの方法もたくさんあります。

悲しいことに、これはすべて、HttpClient 3.xを使用するように構築されたコードが、HttpClient4.xを使用するために大幅な書き直しを必要とすることを意味します。これが@skaffmanがほのめかしている混乱と政治の原因だと思います。

しかし、私にとって重要なのは、新しいプロジェクトを開発している場合は、should HttpClient4.xを使用しているということです。

14
Stephen C