A proxy server is a server which stands between the client and the real server(s). The client always connects to the proxy server, which connects to the appropriate "real" server for the client. In terms of HTTP, for example. A HTTP proxy server will take a HTTP request, decode the destination host name from it, and forward the request to the named server. It then waits for the reply and returns that back to the originating client.