Re: Section 8.2

Jeffrey Mogul wrote:
>     'HTTP/1.1 servers SHOULD maintain persistent connections and use TCPs 
>     flow control mechanisms to resolve temporary overloads, rather than 
>     terminating connections with the expectation that clients will retry. 
>     The latter technique can exacerbate network congestion.'
>     On a practical note; how do I distinguish between an idle client, a dead 
>     client, and one that is avoiding network congestion? Should the standard 
>     give some guidelines?
> Actually, the real question is "how do I distinguish between an idle
> client, a dead client, and one that can no longer be reached over
> the network?"  (Network congestion tends to result in slow but not
> totally failed communication.)

A host that detectably can't be reached over the network will produce a "host
unreachable" response. An undetectable one is indistiguishable from a dead
host or one that is avoiding network congestion (I think).

> The answer to the real question is "you can't, so don't bother to try."
> Treat them all the same: when you get tired of waiting, give up.  Many
> servers seem to use a timeout of about 20 minutes for this.

20 minutes seems like a very long time to tie up valuable resources.

> I mean, you could use the TCP keepalive mechanism to disinguish between
> idle clients and the other cases, but it's pretty pointless, and it's
> not a good way to reduce network congestion.




> -Jeff

Ben Laurie                  Phone: +44 (181) 994 6435
Freelance Consultant and    Fax:   +44 (181) 994 6472
Technical Director          Email:
A.L. Digital Ltd,           URL:
London, England.

Received on Friday, 31 May 1996 13:45:21 UTC