Re: NEW ISSUE(S): Retrying Requests

Robert Siemer wrote:
> On Thu, Mar 06, 2008 at 12:33:45AM +0000, Jamie Lokier wrote:
> 
> > I'm still puzzled as to when a client should reuse a persistent
> > connection for requests that (it knows) shouldn't be retried.
> > 
> > Since all servers close a persistent connection an unspecified time
> > after the first request, and that's perfectly healthy (all servers
> > must do it), ...
> 
> Why must all servers do that?

Two reasons:

   1. Because idle TCP/IP sockets get into a stuck state, if the other
      end disappears off the net.  Especially on internet facing
      servers, these tend to accumulate without bound (older servers
      had to be rebooted from time to time because of this).

      Servers will accumulate these until they run out of ports or
      memory, if they don't have some way to drop old, idle connections.

   1. To defend against too many clients keeping connections open for
      an arbitrarily long time, whether maliciously or too popular.

-- Jamie

Received on Thursday, 6 March 2008 20:22:29 UTC