You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Techie India <it...@gmail.com> on 2007/09/14 07:31:28 UTC

Regarding HttpClient 4.0.

 Hi,

I want to know what are the major difference HttpClient 3.0 and  HttpClient
4.0, what are major issues which HttpClient 4.0 will adress which were
missing in HttpClient 3.0.


Is there a nio and classic I/O model  for HttpClient 4.0 as well, like in
httpCore?

Thanks

Re: Regarding HttpClient 4.0.

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Fri, 2007-09-14 at 11:01 +0530, Techie India wrote:
> Hi,
> 
> I want to know what are the major difference HttpClient 3.0 and  HttpClient
> 4.0, what are major issues which HttpClient 4.0 will adress which were
> missing in HttpClient 3.0.
> 

HttpClient 3.1 is in many ways a very useful piece of software and is in
widespread use in both open-source and commercial applications. It has
also proved very stable over years. However, HttpClient 3.1 has several
major architectural deficiencies, its API can be described as inflexible
and badly designed, and internally the core components are a complete
and utter mess. For details see:

http://jakarta.apache.org/httpcomponents/commons-httpclient-lessons.html

Essentially HttpClient 4.0 strives to achieve three major goals

(1) Address architectural deficiencies of HttpClient 3.x while
preserving and improving  existing functionality

(2) Provide a much more flexible and customizable platform though a
highly componentized architecture

(3) Improve performance and reduce memory footprint. HttpClient 4.0 is
expected to be 15% to 30% faster then HttpClient 3.1

http://wiki.apache.org/jakarta-httpclient/HttpClient3vsHttpClient4vsHttpCore

Having said all that, I would like to stress it one more time that there
will be a lot of API instability in the 4.0 branch. If HttpClient 3.1
serves you well, stick to it for another 6 months or so, until 4.0 API
stabilizes.

> 
> Is there a nio and classic I/O model  for HttpClient 4.0 as well, like in
> httpCore?
> 

I personally believe NIO provides no advantage over classic I/O for
purely client-side HTTP services, but if there is demand for a NIO based
implementation, we will surely consider developing it. The only missing
bit is a connection manager for non-blocking asynchronous HTTP
connections.

Oleg 


> Thanks


---------------------------------------------------------------------
To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org