There are 2 kinds of proxies.
- Forward proxy
- Reverse proxy
Forward proxy :
Forward proxy shields clients requesting a particular resource. Instead of normal way in which clients request the origin server, client request forward proxy and forward proxy makes a request to origin server, get the resource and sends it back to the client.
For forward proxy origin server thinks all requests are made by the forward proxy when in fact it would be from multiple client machines sitting behind the forward proxy.
Reverse proxy :
Reverse proxy on the other hand shields the origin servers. Client makes a call to the reverse proxy instead of origin sever. Reverse proxy internally may get the response from one of multiple origin servers configured and return back response to the Client.
For reverse proxy client machine thinks it is making request to the origin server when it is infact making request to the reverse proxy which could be internally getting request from multiple origin servers and returning response.