You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Apache Wiki <wi...@apache.org> on 2007/02/16 18:50:33 UTC

[Jakarta-httpclient Wiki] Update of "ConnectionManagementDesign" by RolandWeber

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jakarta-httpclient Wiki" for change notification.

The following page has been changed by RolandWeber:
http://wiki.apache.org/jakarta-httpclient/ConnectionManagementDesign

The comment on the change is:
have to stop editing now, the Wiki server is dead slow

------------------------------------------------------------------------------
  
  ''!HttpAsync'': In !HttpAsync, the traditional usage pattern is reversed. Instead of requests looking for a connection, there are connections looking for requests. Requests generated by the application will be collected in a pool, the application threads don't block. Background threads will choose requests that can be sent over an open connection. If there are none for that target, the connection can be closed and re-openend to a different target in order to send other requests.
  
- == Connection States ==
+ == Connection Re-use ==
+ 
+ Connection re-use is subject to a keep-alive strategy. Both client and server can decide that a connection should not be kept alive. However, a connection can only be re-used if some preconditions are met, which are discussed in the following sections. If the keep-alive strategy can determine from the request alone that the connection can not be re-used, the preconditions don't matter. If the preconditions are not met, the keep-alive strategy based on the response doesn't matter.
+ 
+ 
+ === Routing State ===
  
  Opening a connection for a route can require several steps. The type of route that is established determines for which routes the connection can be re-used.
  
@@ -58, +63 @@

  While TLS/SSL client authentication is out of scope for !HttpComponents, NTLM authentication is not and needs to be considered.
  [[BR]]
  Reusability can also be affected by the local host address being used. On machines with more than one network interface, applications might have specific requirements as to which of the interfaces is used for communication.
+ 
+ 
+ === Communication State ===
+ 
+ See this [http://mail-archives.apache.org/mod_mbox/jakarta-httpcomponents-dev/200701.mbox/%3c45B333F3.3010706@dubioso.net%3e discussion] in the mail archive.
  
  
  == Implementation Review ==
@@ -132, +142 @@

  [[BR]]
  See also this [http://mail-archives.apache.org/mod_mbox/jakarta-httpcomponents-dev/200508.mbox/%3c304447CF-0A71-49C2-871D-5476E9F75226@symphonious.net%3e discussion] in the mail archive.
  
- A related problem is to decide whether the released connection is in a state that allows keep-alive or not.
- See this [http://mail-archives.apache.org/mod_mbox/jakarta-httpcomponents-dev/200701.mbox/%3c45B333F3.3010706@dubioso.net%3e discussion] in the mail archive.
- If the connection state allows for keep-alive, applying a keep-alive strategy is the next step.
- 

---------------------------------------------------------------------
To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org