W3C home > Mailing lists > Public > ietf-http-wg-old@w3.org > September to December 2000

Re: Of HTTP/1.1 persistent connections and TCP Keepalive timers

From: John Stracke <francis@ecal.com>
Date: Thu, 02 Nov 2000 11:00:47 -0500
Message-ID: <3A018FAF.4B58EB01@ecal.com>
To: http-wg@hplb.hpl.hp.com
CC: Jeff.Hodges@KingsMountain.com
Jeff.Hodges@KingsMountain.com wrote:

> Q1. Do the popular browsers typically take the platform's OS's TCP defaults
> for
> the keepalive (if such capability is provided by the TCP/IP stack, and if it
> is actually used by the browser), or do they typically set this value to
> something in particular?

Sane applications typically do not use TCP keepalives.  TCP keepalives are a way
of consuming bandwidth in order to make your application less reliable.

See, keepalives are misnamed; idle TCP connections will be kept alive
indefinitely by default.  Using keepalives means you send an empty ACK every so
often to see if the remote host is still up.  The problem is that sending that
keepalive will also mean you drop the connection if some intermediate router is
down.  But, if your link is idle, you don't care whether an intermediate router
is down; you only care when you want to send data.  So keepalives just add
another way for your application to fail.

--
/==============================================================\
|John Stracke    | http://www.ecal.com |My opinions are my own.|
|Chief Scientist |=============================================|
|eCal Corp.      |Two words that do not go together: "Memorial |
|francis@ecal.com|Cookbook".                                   |
\==============================================================/
Received on Thursday, 2 November 2000 15:58:35 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 24 September 2003 06:33:40 EDT