Proxy implementation questions

Chris Adie (C.J.Adie@edinburgh.ac.uk)
Fri, 7 Oct 1994 09:18:27 +0100

Date: Fri, 7 Oct 1994 09:18:27 +0100
Message-Id: <9410070917.aa15080@uk.ac.ed.castle>
From: Chris Adie <C.J.Adie@edinburgh.ac.uk>
To: Multiple recipients of list <www-proxy@www0.cern.ch>
Subject: Proxy implementation questions

I've just joined this list, so please excuse me if these questions
have been answered before.

I'm adding proxy capability to the HTTP server for Windows NT, and
am looking for guidance. The following questions relate mainly to
proxy requests of the form:

GET http://foo.bar/whatever HTTP/1.0

1. Presumably the proxy should not change in any way the set of
headers from the client before sending them on to the server.
Not even the User-Agent: header. And vice versa.

2. What status code should the proxy return to the client if it
cannot connect to the server because (a) It can't resolve foo.bar
(b) The connect() fails?

3. Presumably the request from the proxy to the server should be:
GET /whatever HTTP/1.0
How about the situation where "whatever" is actually
http://here.there/something
In that situation the proxy shouldn't send an initial / - but
doesn't this mean it has to parse the "whatever" to see if it is
actually a URL?

4. Assumption implicit in the preceeding question - presumably
a leading slash in a target string means that it is a request for
something on the local system, whereas no leading slash means that
it is a URL which must be proxied?

5. How important is it that a proxy service should use a different
port from the local http service?

Regards,

Chris Adie Phone: +44 31 650 3363
Edinburgh University Computing Service Fax: +44 31 650 6547
University Library, George Square Email: C.J.Adie@ed.ac.uk
Edinburgh EH8 9LJ, United Kingdom