A proxy server basically accepts connections from client machines, and forwards them to whatever they are trying to connect to. Both the client and the server see themselves as connected to the proxy, which acts as a middle man. They are typically used to impose connection restrictions, log web requests, etc. If you want a free one to play with Google ccproxy.