The Commons HttpClient project is now end of life, and is no longer being developed. It has been replaced by the Apache HttpComponents project in its HttpClient and HttpCore modules, which offer better performance and more flexibility.
The HttpClient component supports the client-side of RFC 1945 (HTTP/1.0) and RFC 2616 (HTTP/1.1), several related specifications (RFC 2109 (Cookies), RFC 2617 (HTTP Authentication), etc.), and provides a framework by which new request types (methods) or HTTP extensions can be created easily.
The basis for the abstraction is provided by three primary types:
and several simple bean-style classes:
HttpClient provides a simple "user-agent" implementation that will suffice for many applications, but whose use is not required.
HttpClient also provides several utilities that may be useful when extending the framework: