hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Jakarta-httpclient Wiki] Update of "UseCases/MultiAsyncRequests" by RolandWeber
Date Thu, 29 Dec 2005 19:53:20 GMT
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/UseCases/MultiAsyncRequests

------------------------------------------------------------------------------
  == Variations ==
  
   * all requests are targetting a single server, for example SOAP calls
+  * many requests to the same server or via the same proxy are sent with pipelining
  
  == Related / Out Of Scope ==
  
@@ -48, +49 @@

  [[BR]]
  Interfaces for connection management and request scheduling are desirable.
  
+ 
+ == Discussion of Pipelining ==
+ 
+ With HTTP pipelining, requests are sent over a connection before the responses of previous
requests on that
+ connection have been processed. Since each response could require closing the connection
and re-sending the
+ requests that have not been handled by the time, requests have to be repeatable.
+ Detection and handling of non-repeatable requests, for example by disabling pipelining for
them, needs to be
+ considered. Asking applications to flag non-repeatable requests is an option.
+ [[BR]]
+ Special tracking is needed to associate responses with requests on a pipelined connection,
and to detect which
+ requests have to be repeated if the connection is closed prematurely. Feeding requests back
into the queue of
+ requests should give them a higher priority, since they have already gone through scheduling
before.
+ [[BR]]
+ Requests that are sent using the expect/continue handshake effectively flush the pipeline,
since the request
+ body should not be sent until the 100-continue response has been received. Timeouts for
servers that do not
+ support the expect/continue handshake can not be based on the time at which the request
is sent, since the
+ delay for the 100-continue response depends on the preceeding requests and responses. A
timeout can instead
+ be started when all preceeding responses have been handled.
+ 

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


Mime
View raw message