End of life

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 org.apache.commons.httpclient Package

The basis for the abstraction is provided by three primary types:

    represents a network connection to some HTTP host.
    represents a request to be made over some HttpConnection and contains the server's response.
    contains the HTTP attributes that may persist from request to request, such as cookies and authentication credentials.

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:

    an abstract base implementation of HttpMethod, which may be extended to create new method types or to support additional HTTP protocol features.
    an enumeration of HttpStatus codes.
    an OutputStream wrapper supporting the "chunked" transfer encoding.
    an InputStream wrapper supporting the "chunked" transfer encoding.
    provides utilities for encoding and decoding URI's in the %HH format.

The org.apache.commons.httpclient.methods Package

The org.apache.commons.httpclient.methods package provides HttpMethod implementations of the most commonly used HTTP methods, including GET, POST, PUT, OPTIONS, HEAD and DELETE.