> > While the configuration of proxies does not really belong in the
> > HTTP protocol, it helps a lot having a way to detect the existence
> > of loops, or at least minimising its bad effects.
>
> The Forwarded header field was created for this purpose.
> Is it insufficient?
Finally I could get a copy of the 1.1 draft.
The Forwarded: header can actually be used to detect loops. However,
* it is not compulsory (although a node willing to avoid loops will
certainly insert it and detect the loop);
* in principle, it does not prevent the occurrence of arbitrarily
long paths (although a node can decide not to pass a request which
has been "Forwarded:" too many times);
and these reasons make me like better the use of a *compulsory*
TTL field as a loop detector (which is also simpler to manage).
The "Forwarded:" header was inspired from email, but email loops
are different from http loops. The former are built one step at a
time, in a store-and-forward fashion: it might take hours before
a loop is complete and detected, during this time the system does
not allocate resources other than the storage for a single copy of
the message. But http allocates resources on all nodes, so loops
are more expensive for the network.
Luigi
====================================================================
Luigi Rizzo Dip. di Ingegneria dell'Informazione
email: luigi@iet.unipi.it Universita' di Pisa
tel: +39-50-568533 via Diotisalvi 2, 56126 PISA (Italy)
fax: +39-50-568522 http://www.iet.unipi.it/~luigi/
====================================================================