A Proxy server is a special kind of server that is used to act as an intermediary between two communicating systems.
Effectively a proxy server would allow systems to make indirect network connections to networking services.
The way this works is:
- A client makes a connection request to the proxy server and request for some kind of resource (file, connection, etc).
- Based on the request, the proxy server will imitate a connection to the server where the resource is present as if the connection is originating from the proxy server and not from the client.
- The resource server replies back to the proxy server.
- This reply is relayed to the client.
The important thing to notice during this whole dialog is that the client thinks that the proxy server is the resource server and the resource server thinks that the proxy server is the client.
So this provides a level of anonymity to the client who is requesting the required resource as the destination server wouldn’t be able to obtain the true identity of the client who has originally requested the resource or service.