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

Re: keepalives and proxies: a request and a proposal

From: Roy T. Fielding <fielding@avron.ICS.UCI.EDU>
Date: Fri, 17 Nov 1995 15:21:35 -0800
To: Jeffrey Mogul <mogul@pa.dec.com>
Cc: Lorenzo Vicisano <vicisano@iet.unipi.it>, http-wg mailing list <http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com>
Message-Id: <9511171521.aa08404@paris.ics.uci.edu>
>     The `Connection: Keep-Alive my-name' solution allows each compliant
>     proxy to realize whether is talking to a compliant proxy/client or not.
> 
> One quibble: we should not use a host name here; we should use
> the IP address of the host (and on a multi-homed host or proxy,
> the IP address that is actually assigned to the connection).  This
> avoid the overhead (and possibly the failure) of an extra DNS lookup
> at each proxy and server.

That won't work either (see below).

> Aside from that, I agree; this is 100% foolproof because every link in
> the chain must prove that it understands this header.  I don't
> understand Roy's comment that it does not adequately account for
> hierarchical proxies or gateways.

I was referring to the Proxy-Connection thingy in Alex's draft, which
will not be in HTTP/1.1.  The IP thingy has other problems.

> Roy sez:
>     The only way to differentiate communication capabilities is through
>     the protocol name + version number, since that is the only feature
>     that cannot be passed on by a proxy.
> The implication is that the 1.1 protocol spec will say something
> like "a client or proxy must not send or forward a Keepalive:
> header to a proxy [or server?] with a version number below 1.1".
> Is that what you are planning, Roy?

No, it says a recipient cannot trust a Connection header received from
an HTTP/1.0 message.  This can't be replaced by including the IP number
in the header field because the IP is changed when sent through a tunnel.
The only general way to solve this problem is to change to HTTP/1.1.

> One problem that the "Keepalive: myaddress" approach seems to
> solve better than the version-number based approach is that it
> allows a 1.1 proxy to not implement persistent connections.
> That is, under Roy's approach, persistent connection support
> would have to be 100% mandatory for all 1.1 (and later) proxies.

Nope -- removal/replacement of the Connection header, and any header fields
named within the Connection header, will be mandatory.

> Under the alternate approach, any proxy not wanting to support
> persistent connections (either for implementation reasons or
> for policy reasons) could simply drop the "Keepalive: myaddress"
> header.

Persistent connections are identified by the keep-alive keyword in
the Connection header -- the Keep-Alive header is just for optional
parameters describing the keep-alive.

.....Roy
Received on Friday, 17 November 1995 15:40:25 EST

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