Classes and interfaces supporting the client side of the HTTP protocol.
      
         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 can be easily created or supported.
      
      
         The basis for the abstraction is provided by three types:
      
      
         - {@link org.apache.commons.httpclient.HttpConnection}
- 
            represents a network connection to some HTTP host.
         
- {@link org.apache.commons.httpclient.HttpMethod}
- 
            represents a request to be made over some
            {@link org.apache.commons.httpclient.HttpConnection}
            and contains the server's response.
         
- {@link org.apache.commons.httpclient.HttpState}
- 
            contains the HTTP attributes that may persist from
            request to request, such as cookies and authentication
            credentials.
         
         and several simple bean-style classes:
      
      
         - {@link org.apache.commons.httpclient.Cookie}
- 
            represents HTTP cookie.
         
- {@link org.apache.commons.httpclient.Credentials}
- 
            an interface representing a set of authentication credentials.
         
- {@link org.apache.commons.httpclient.Header}
- 
            represents an HTTP request or response header.
         
- {@link org.apache.commons.httpclient.HeaderElement}
- 
            represents a single element of a multi-part header.
         
- {@link org.apache.commons.httpclient.UsernamePasswordCredentials}
- 
            a username and password pair.
         
         {@link org.apache.commons.httpclient.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:
      
      
         - {@link org.apache.commons.httpclient.HttpMethodBase}
- 
            an abstract base implementation of HttpMethod,
            which may be extended to create new method types or
            to support additional protocol HTTP features.
         
- {@link org.apache.commons.httpclient.HttpStatus}
- 
            an enumeration of HttpStatus codes.
         
- {@link org.apache.commons.httpclient.ChunkedOutputStream}
- 
            an {@link java.io.OutputStream} wrapper supporting the "chunked"
            transfer encoding.
         
- {@link org.apache.commons.httpclient.ChunkedInputStream}
- 
            an {@link java.io.InputStream} wrapper supporting the "chunked"
            transfer encoding.
         
- {@link org.apache.commons.httpclient.util.URIUtil}
- 
            provides utilities for encoding and decoding URI's in the
            %HH format.
         
HttpClient Configuration with Java Properties
         Java properties can be set at run time with the -Dname=value
         command line arguments to the application that uses HttpClient.
         These properties can also be set programaticly by calling
         System.getProperties().setProperty(name, value).
         This is the list of properties that HttpClient recognizes:
         
         | Name | Type | Effect | 
|---|
	 | httpclient.useragent | String | Sets the User-Agent string to be sent on every HTTP request. | 
|---|
	 | httpclient.authentication.preemptive | boolean | Sends authorization credentials without requiring explicit requests
                 from the web server | 
|---|