Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Understanding http proxies

Reply
Thread Tools

Understanding http proxies

 
 
Olive
Guest
Posts: n/a
 
      10-13-2012
I am trying to understand how to build an http proxy server in python,
and I have found the following example:

http://www.oki-osk.jp/esc/python/proxy/

But I do not have found an exact description of what exactly a proxy
server is suppose to do (all references gice only the basic principe of
proxy that I know). In the following model

Client <-> Proxy <-> Server

it seems when I read the code above that the proxy acts mostly as an
orinary server with respect to the client except that it is supposed to
receive the full URL instead of just the path. Am I right? Is there any
documentation on what an http proxy is supposed to implement.

Olive
 
Reply With Quote
 
 
 
 
Chris Angelico
Guest
Posts: n/a
 
      10-13-2012
On Sun, Oct 14, 2012 at 5:43 AM, Olive <(E-Mail Removed)> wrote:
> it seems when I read the code above that the proxy acts mostly as an
> orinary server with respect to the client except that it is supposed to
> receive the full URL instead of just the path. Am I right? Is there any
> documentation on what an http proxy is supposed to implement.


The easiest way to test this is to knock together a quick little
server, set your browser to use localhost as a proxy, and see what
requests you get.

You're correct as regards most requests, but HTTPS is more
complicated. All your proxy will see is a CONNECT request; you have to
accept or deny on the basis of address alone, you don't get the whole
URL (for obvious reasons). But that aside, yes, you'll normally get a
request that looks pretty similar to what the origin server would get.

ahh, happy memories of MUDding through a local proxy that permitted
CONNECT on more ports than 443... and even happier memories of getting
port 23 opened to direct access, hehe...

ChrisA
 
Reply With Quote
 
 
 
 
Cameron Simpson
Guest
Posts: n/a
 
      10-15-2012
On 13Oct2012 20:43, Olive <(E-Mail Removed)> wrote:
| I am trying to understand how to build an http proxy server in python,
| and I have found the following example:
| http://www.oki-osk.jp/esc/python/proxy/
|
| But I do not have found an exact description of what exactly a proxy
| server is suppose to do (all references gice only the basic principe of
| proxy that I know). In the following model
|
| Client <-> Proxy <-> Server
|
| it seems when I read the code above that the proxy acts mostly as an
| orinary server with respect to the client except that it is supposed to
| receive the full URL instead of just the path. Am I right? Is there any
| documentation on what an http proxy is supposed to implement.

As mentioned elsewhere, in HTTP 1.0 you get a full URL in the opening
line.

In HTTP 1.1 you get the path component in the opening line and the host
part in the Host: header of the request.

Have a read of RFC2616 (which defines HTTP 1.0):

http://tools.ietf.org/html/rfc2616

It has sections on proxies, too, outlining which they must do beyond
what a plain HTTP server must do (not much, but a few things, and there
are proxy-specific authentication fields available too):

Proxy Servers
http://tools.ietf.org/html/rfc2616#section-8.1.3

Proxy Authenticate
http://tools.ietf.org/html/rfc2616#section-14.33

Cheers,
--
Cameron Simpson <(E-Mail Removed)>

There's two kinds of climbers...smart ones, and dead ones. - Don Whillans
 
Reply With Quote
 
Olive
Guest
Posts: n/a
 
      10-15-2012
Thank you for all yours answers. There are very usefull!

Olive
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Database of open source HTTP proxies written in Java. Alan Kennedy Java 0 07-02-2009 03:53 PM
Proxies with Sockets (multiple, non-http) BobSmith Java 2 08-08-2005 02:07 AM
Java HTTP proxies fail open? Chris Smith Java 1 07-18-2005 11:51 AM
Net::HTTP::Proxy using one or more proxies Peņa, Botp Ruby 1 05-14-2005 04:08 AM
SOAP4R+WSDL+HTTP proxies? Lennon Day-Reynolds Ruby 2 08-14-2004 05:10 PM



Advertisments