Subject: Proxy-connection

From: "John C. Mallery" <[email-masked]>
Date: Fri, 1 Sep 2000 22:19:32 -0400

Can anybody give me a url to some documentation on this header,
and especially, how to get http 1.0 clients to do some rudimentary
persistence on requests through a 1.1 proxy?

---

From: "Joris Dobbelsteen" <[email-masked]>
Date: Sat, 2 Sep 2000 14:59:34 +0200

> -----Original Message-----
> From: John C. Mallery [mailto:[email-masked]]
> Sent: zaterdag 2 september 2000 4:20
> To: [email-masked]
> Subject: Proxy-connection
>
>

RFC2616 also explains this header. It is actually the same as the connection
header, but specially for proxies.
However I don't know why they needed Proxy-Connection, maybe because some
proxies did not know/understand this header and have the orgin server not to
respond to it.

* HTTP/1.0 default closes the connection, unless explicitly requested by the
client to keep the line open (alive).
* HTTP/1.1 keeps the connection alive, unless explicitly mentioned by the
client/server to close the connection. Maybe that some responces require the
connecton to be closed.

I thought there is another RFC handling persistent connections for HTTP/1.0
(extension to the standard). Maybe it doesn't exist, but I think it
does.....

- Joris

---

From: "Life is hard, and then you die" <[email-masked]>
Date: Sat, 2 Sep 2000 14:22:59 -0700

> persistence on requests through a 1.1 proxy?

I don't know of any specs. But basically it works just like the ol'
'Connection: keep-alive' header, except that it only applies to
proxies. Of course it has the same basic problem as the original
Connection header (see section 19.6.2 in rfc 2616) in that if you
have two proxies in series and the first one doesn't understand
the Proxy-Connection header and therefore forwards it to the second
proxy which does understand it, you'll have a mess.

Anyway, if you're writing a 1.1 proxy then you can certainly use the
Proxy-Connection header on the client connection side (but only if the
client is 1.0, of course), with the caveat that if that client is
actually a 1.0 proxy which doesn't understand the Proxy-Connection then
you're in trouble. I'm not sure if I understand your "how to get 1.0
clients to ..." - other than sending back Proxy-Connection headers if
the client sent one, and making sure a Content-Length header is present
in the response as often as possible (this may mean generating it if
possible), there's nothing you can do.

  Cheers,

  Ronald

---

From: "John C. Mallery" <[email-masked]>
Date: Wed, 6 Sep 2000 11:24:43 -0400

By experimentation, I found that returning the usual
connection and keep-alive headers works for Netscape and IE.

---

From: Jeffrey Mogul <[email-masked]>
Date: Mon, 11 Sep 2000 18:23:46 -0700

"Joris Dobbelsteen" <[email-masked]> writes,
re: the Proxy-connection header:
    RFC2616 also explains this header. It is actually the same as the
    connection header, but specially for proxies.  However I don't know
    why they needed Proxy-Connection, maybe because some proxies did
    not know/understand this header and have the orgin server not to
    respond to it.
    
This header is NOT discussed in RFC2616!

According to the last discussion about this header in the HTTP-WG
archive
	http://www.ics.uci.edu/pub/ietf/http/hypermail/1999/0030.html

this is only a Netscape-specific header.

Remember that an HTTP/1.1 system MUST NOT accept "Connection"
headers from HTTP/1.0 systems, because of the likelihood that
this was simply forwarded by a proxy that doesn't know what it
means.  So HTTP/1.0 clients can't use "Connection", period.

Some HTTP/1.0 clients used the "Keep-Alive" header to do
one-hop persistent connections, but for reasons explained in
section 19.6.2 of RFC2616, this can't be safely sent to
proxies.  So Netscape (as far as I recall) introduced
"Proxy-Connection" as a special-case workaround.  It is not
part of HTTP/1.1.

-Jeff

---

From: "Joris Dobbelsteen" <[email-masked]>
Date: Tue, 12 Sep 2000 16:34:05 +0200

> From: Jeffrey Mogul [mailto:[email-masked]]
> Sent: dinsdag 12 september 2000 3:24
> To: Joris Dobbelsteen
> Cc: WWW WG (E-mail)
> Subject: Re: Proxy-connection 
> 
> 

Reviewed it, and you are right... I did mix it up with the existance
of the proxy-authentication and proxy-authorization headers.
Also when developing for my own a proxy server, MSIE did also send the
proxy-connection header.

> "Proxy-Connection" as a special-case workaround.  It is not

Said it all.....
So Proxy-Connection can be retired in HTTP/1.1 and be replaced with
the connection header.
> -Jeff

Won't it be good for proxies if getting HTTP/1.0. For HTTP/1.1 look for
a connection header, and either discard the proxy-connection header, or
use it if the connection header is not present?

- Joris

---

From: Jeffrey Mogul <[email-masked]>
Date: Tue, 12 Sep 2000 11:25:21 -0700

"Joris Dobbelsteen" <[email-masked]> wrote:

    Won't it be good for proxies if getting HTTP/1.0. For HTTP/1.1 look
    for a connection header, and either discard the proxy-connection
    header, or use it if the connection header is not present?
    
I don't have time to think through all of the possibilities, but
I suspect that if you receive a message that contains BOTH
"Connection" and "Proxy-Connection", then somewhere along the
line, a mistake has been made.  (Unfortunately, without access
to a formal spec for "Proxy-Connection", I'm not sure if we
can ever be definitive about it.)  In that case, the only
safe thing to do is to not use a persistent connection, since
there's a chance that one of the systems along the path isn't
able to do the right thing.

-Jeff