A Proxy server is a special kind of server 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 requests some 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 link is originating from the proxy server and not from the client.
– The resource server replies to the proxy server.
– This reply is relayed to the client.
During this dialog, the important thing to notice 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 requesting the required resource as the destination server wouldn’t be able to obtain the true identity of the client who has initially requested the resource or service.