Subject: Re: http proxy & tunnel differences ??

From: "Vinit Kumar" <[email-masked]>
Date: Wed, 27 Oct 1999 04:53:30 PDT

> >> How does a http tunnel work. Is the initial connection similar ?
> >> Does a client (browser) need to configured differently when
> >> it goes through
> >> a tunnel or is it same as the configuration required when it
> >> goes through
> >> the proxy ? Are there to separate tcp connections for each
> >> request even in a
> >> tunnel ?
>
>Some tunnels are activated by a proxy request, some are simply
>port forwarding TCP firewalls (either on the client side or the
>server side, or both), and others are gateways to other servers.
>The important thing from HTTP's perspective is that once an
>intermediary becomes a tunnel, it is no longer conscious of the
>HTTP communication -- only of bytes being relayed from one connection
>to another.
>
>....Roy

For tunnels that are activated by a proxy request, A browser has to be 
configured to go through the proxy.So a request from a browser to a HTTP 
Proxy or a HTTP tunnel(activated by a request) is one and the same. What I 
mean is that, even if the intermediary is a HTTP tunnel, the client always 
talks to the tunnel thru one part of the connection and a tunnel will 
forward that on another connection to the ORIGIN SERVER. Even the origin 
servers response will come to the intermediate tunnel which get forwarded to 
the client on the other connection.

These requests or the responses MAY contain some hop-by-hop header 
information such as Keep-Alive, Connection Header (close), Max-Forwards 
etc..  While a proxy can take care of them ,what will a should a HTTP tunnel 
do? A http tunnel would'nt even look at the response or at the request(apart 
from looking at the URL to see where the forwarding connection should be 
established).

How does a HTTP tunnel take care of persistant connections and request 
pipelining?

Regards,

Vinit Kumar

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

---

From: "Roy T. Fielding" <[email-masked]>
Date: Sat, 30 Oct 1999 23:25:50 -0700

>Proxy or a HTTP tunnel(activated by a request) is one and the same. 

No, they aren't.  The terms "client", "server", "proxy", "tunnel", etc.,
are all regarding the ROLE of the software for a particular request/response.
The first request went to a proxy -- after the 200 response, it is no
longer a proxy.  It is not an HTTP tunnel -- it is just a tunnel, period.

>What I 

RFC 2616:

   tunnel
      An intermediary program which is acting as a blind relay between
      two connections. Once active, a tunnel is not considered a party
      to the HTTP communication, though the tunnel may have been
      initiated by an HTTP request. The tunnel ceases to exist when both
      ends of the relayed connections are closed.

By definition, it does not grok HTTP, therefore it doesn't take care
of persistant connections and request pipelining.

....Roy