Hi Sebastian, shooting from the hip...
The TIME_WAIT state indicates that the connection was orderly closed. If a connection (of HttpClient) remains open when the JVM exits, it is force-closed by a reset and does not enter the TIME_WAIT state. > Example 4: http://www.google.com/ auto-redirect=true, keep-alive=true > [Redirects to www.google.co.uk] > > HttpClient leaves a connection to www.google.com in TIME_WAIT > Java leaves connections to both www.google.com and www.google.co.uk in > TIME_WAIT HttpClient connects to www.google.com and receives a redirect. The method director returns the open connection to the SimpleHttpConnectionManager, which consumes the response body. The socket is kept open until the method director obtains the connection for the redirect. Then it is orderly closed, bringing it into TIME_WAIT state. A new socket is used to read from www.google.co.uk. Because of the keep-alive, that socket remains open until the JVM exits. Explaining the behavior of Java HTTP is a bit trickier. Either their keep-alive strategy closes sockets that HttpClient keeps open, or they use a shutdown hook to orderly close connections when the JVM exits. Does that make sense? It might play a role whether the connection is closed by the client (HttpClient+ redirect) or by the server ("connection: close" in the request you send). You may want to use MultiThreadedHttpConnectionManager to get results that are better comparable. hope that helps, Roland --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]