Proposal for HttpClient Package
(0) Rationale
HTTP is the main protocol used today on the internet. Although the JDK
includes basic support for building HTTP-aware client applications, it
doesn't provide the flexibility or ease of use needed for many projects.
A Commons package would give committers an opportunity to coordinate
their efforts to create and maintain a efficient, feature-rich package
under the ASF license.
(1) Scope of the Package
The package shall create and maintain a Java library implementing the client
side of the HTTP/1.1 protocol, as defined in RFC 2616 and RFC 2617.
The package should :
- Have an API which should be as simple to use as possible
- Be as easy to extend as possible
- Provide unconditional support for HTTP/1.1
The package is quite different from the HTTP client provided as part of the JDK
(java.net.HttpURLConnection), as it focuses on the HTTP methods being sent
(instead of making that transparent to the user), and generally allows more
interaction with the lower level connection. The JDK client is also not very
intuitive to use.
The package is used by the Slide project to build a WebDAV client
library supporting WebDAV level 2.
(1.5) Interaction With Other Packages
HttpClient relies on:
- Java Development Kit (Version 1.1 or later; 1.3 or later recommended)
(2) Initial Source of the Package
The initial codebase exists in the jakarta-slide cvs tree under the
org.apache.webdav.lib package. It would be moved to commons under
the http subdirectory.
The proposed package name for the new component is
org.apache.commons.httpclient.
(3) Required Jakarta-Commons Resources
- CVS Repository - New directory
httpclient
in the
jakarta-commons
CVS repository.
- Initial Committers - The list is provided below. Some of the proposed
committers are not currently jakarta-commons committers, but are committers
on the jakarta-slide project, and contributed to this component.
- Mailing List - Discussions will take place on the general
jakarta-commons@jakarta.apache.org mailing list. To help list
subscribers identify messages of interest, it is suggested that the
message subject of messages about this component be prefixed with
[HttpClient].
- Bugzilla - New component "HttpClient" under the "Commons" product
category, with appropriate version identifiers as needed.
- Jyve FAQ - New category "commons-httpclient" (when available).
(4) Initial Committers
The initial committers on the Digester component shall be:
- Remy Maucherat.
- B.C.Holmes
- Sung-Gu Park
- Juergen Pill
- Costin Manolache