hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roland Weber <ROLWE...@de.ibm.com>
Subject Re: Sun's javax.net.ssl and HttpClient
Date Wed, 19 May 2004 08:12:50 GMT
Hello Himanshu,

Http Client and javax.net.ssl are in no way comparable at all.
SSL is a technique to secure connections on the transport
layer. HTTP is a protocol for client/server communication,
which runs on top of a transport layer. By combining HTTP
and SSL, you get HTTPS. For example, you can use the
HttpClient to communciate over an SSL connection from

The HttpURLConnection in the standard JDKs is flawed
because it does not provide flexibility with respect to
timeout handling, multithreading, connection pooling,
streaming, HTTP protocol versions and server specific
dialects, authentication, error handling, retry handling, and
probably plenty of other things I forgot.
The HttpsURLConnection from javax.net.ssl is the same
as the HttpURLConnection, except that it uses SSL instead
of plain sockets for the transport layer.

HttpClient uses a generic interface to create SSL connections
when needed for HTTPS connections. It is up to you to
implement this interface, and you can support SSL session
reuse if you want to. You can also implement your own
HTTP connection pool, which can be aware of your SSL
connection pool to optimize reuse.

hope that helps,

Himanshu Thube <himanshut@kenati.com>
19.05.2004 17:47
Please respond to "Commons HttpClient Project"
        To:     commons-httpclient-dev@jakarta.apache.org
        Subject:        Sun's javax.net.ssl and HttpClient


I am trying to suggest Apache Http client library against SUN 
javax.net.ssl for our application, our application requirement is as 
follows :

1. SSL support
2. Reuse the SSLSession / HttpState while reconnecting to web server 
3. Restablishing Http(s) connection multiple times to web server
4. HttpClient should have same behaviour like a Browser (IE)
5. Asynchronous communication where Http client opens connection and 
should recieve data from server whenever server has some data for http 
6. Other requirements are Performance, etc..

 From the web I found few comparisons but some of them were vague (e.g. 
One features page of Http client it is written "The jdk has the 
HttpUrlConnection which is limited and in many ways flawed") but there 
is no concrete explaination for this.

Another comparison link http://www.nogoop.com/product_16.html#compare 
does not provide sufficient comparison for my requirement.

Can someone provide concrete link or  information, about comparison 
between Apache Http client library against SUN javax.net.ssl for my 
requirements ?

For my requirement, I came up with only one valid point where Apache 
Http client library provides a API where I can associate HttpState with 
Http(s) connection. I guess if I dig more into JDK I will also find a 
way to do this over there.

One more question - Does HttpState contain the Credentials ? Does this 
also contain SSL information (certificates, etc...)  It is just a marker 
interface at the moment. So does it contain certificates, etc... like 
SUN's SSLSession ?


To unsubscribe, e-mail: 
For additional commands, e-mail: 

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message