hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: maxPerRoute -- what *exactly* defines a route?
Date Thu, 02 Nov 2017 13:46:53 GMT
On Wed, 2017-11-01 at 23:34 -0600, Shawn Heisey wrote:
> One of the settings that you can set when creating HttpClient objects
> is 
> the maximum connections per route on the connection
> manager.  Increasing 
> this value is part of making HttpClient capable of handling many 
> threads/connections at once.
> The exact definition of a route is not stated in the javadoc for the 
> builder class, and I haven't been able to find it anywhere else
> either.
> I did find this SO post, but I don't see an answer there that's
> clear. 
> The HttpRoute javadoc may contain the answer, but if it does, it's
> not 
> straightforward.
> https://stackoverflow.com/questions/12028635/what-is-the-meaning-of-p
> er-route-basis-in-poolingclientconnectionmanager
> A section of documentation from an entirely different project
> (nodejs) 
> was given.  A different project may have a very different definition
> of 
> a route than THIS project.
> So I'm looking for what the definition of a route is for
> httpcomponents, 
> and would like to see that information added to the javadoc on the 
> Builder class(es) and the connection manager class(es).

Connection routing is described here


Essentially, an HTTP route represents an address of the target host
along with an optional list of addresses of intermediate proxies (or

An address is either DNS + port or IP + port.

client -> target (direct route)
client -> proxy -> target (route by proxy)
client -> proxy (tunnel) -> target (tunneled route)
client -> proxy1 (tunnel) -> proxy2 (tunnel) -> target 
(complex tunneled route)

> If I were to open an issue for this, would it go on HTTPCLIENT or 
> HTTPCORE?  Should I open an issue?

It should go on HTTPCLIENT. Please do feel to submit improvements by
all of means.


> I suspect that the definition of a route is probably the 
> "protocol://host:port" combination, and based on the info about
> nodejs 
> that was given, may also include the type of request 
> (GET/POST/HEAD/OPTIONS/etc).  It might only take the host into
> account 
> and ignore the protocol and port.  It might have more information,
> such 
> as a defined proxy server, authentication parameters, etc.  Can
> anyone 
> confirm or deny?  If the host is involved, I would also need to know 
> whether it is compared as given, or if any conversion (lowercasing,
> IP 
> address resolution, finding FQDN, etc.) happens before comparison.
> If a detailed answer to this question is in a FAQ somewhere, perhaps 
> that should be referenced by javadoc and in other places.
> Thanks,
> Shawn
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> For additional commands, e-mail: httpclient-users-help@hc.apache.org

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

View raw message