Re: NEW ISSUE(S): Retrying Requests

actually I don't know if it's really something HTTP spec needs to care 
about.

I'd speculate that there are very few web servers under any serious load 
that aren't behind a firewall. 

I think you'll be struggling to find a firewall that won't time out idle 
TCP connections.

A typical firewall timeout value is anything from 120s to 300s. But 
commonly adjustable, and admins with highly loaded systems would 
probably be tempted to reduce the timeout.

Again as a server, I wouldn't rely on the firewall timing out 
connections either but would definitely implement my own timeouts. As a 
client I wouldn't rely on connections being maintained if I wasn't using 
them.

I believe a server should be free to disconnect whenever it likes for 
whatever reason it likes (one of my gripes with SMTP spec is it 
prohibits the server from hanging up on the client even if the client 
abuses it).

Adrien

Jamie Lokier wrote:
>>> Newer servers have TCP keepalive.
>>>       
>> Last time I looked at keepalive specs for TCP the sorts of timeouts 
>> before keepalives were sent were in the order of hours.
>>     
>
> Perhaps he meant _newer_ servers, for which the keepalive intervals
> are adjustable.
>
>   
>> IOW not particularly useful, and definitely not useful for a highly 
>> loaded HTTP server.
>>     
>
> Quite.
>   
>> * connection handles then. 
>> * kernel resources,
>> * Memory
>> * firewall hash entries
>> * authentication tokens
>> * etc etc etc
>>
>> There are lots and lots of things you really don't want hanging around 
>> forever for idle clients.
>>     
>
> Heh.  That was one reason HTTP was _invented_: to avoid the problem of
> tying up state for FTP connections.  HTTP was celebrated as "stateless".
>
> It's interesting that people now regard FTP servers as "lightweight"
> in comparison to HTTP.  Total turnaround.
>
> I have had people beg me to install an FTP server so they don't have
> the overhead of a modern HTTP server!
>
>   
>> As someone who has seen what happens if you don't clean up... it's 
>> definitely necessary.
>>     
>
> Ok.  And does anyone have any advice, for long a server _needs_ to
> keep a persistent connection open?
>
> As noted, if it closes too early, compared with deployed clients, it
> can lead to unnecessary errors or ambiguous retryings.
>
> So what sort of timeout is needed to work with the major clients?
>
> -- Jamie
>
>   

-- 
Adrien de Croy - WinGate Proxy Server - http://www.wingate.com

Received on Friday, 7 March 2008 03:26:46 UTC