represents a complete, ground-up redesign and almost a complete rewrite of the HttpClient 3.x codeline. This release finally addresses several design flaws that existed since the 1.0 release and could not be fixed without a major code overhaul and breaking API compatibility.
* Redesign of the HttpClient internals addressing all known major architectural shortcomings of the 3.x codeline.
* Cleaner, more flexible and expressive API.
* More modular structure.
* Better performance and smaller memory footprint due to a more efficient HTTP transport based on HttpCore.
* Implementation of cross-cutting HTTP protocol aspects through protocol interceptors.
* Improved connection management, better handling of persistent connections, support for stateful connections
* Pluggable redirect and authentication handlers.
* Improved support for sending requests via a proxy or a chain of proxies
* More flexible SSL context customization
* Reduced intermediate garbage in the process of generating HTTP requests and parsing HTTP responses
All upstream projects are strongly encouraged to upgrade.
Detailed release notes can be found here
HttpClient 4.0 API tutorial can be found here
Code samples can be found here