Proxy vs Reverse Proxy vs Load Balancer

Jagadeesh Marali
3 min readJun 16, 2020

Proxy:

This is also a server where it hides who the client is .

For example you are connecting to the google.com through proxy, the google.com doesn’t who you are.

Source: https://www.researchgate.net/figure/Client-server-communication-via-proxy-server_fig1_311613951

suppose you are client 1 and you are requesting the proxy server with some http request then the proxy server get’s your request and it asks the server to get the information you needed and ping back to you. In this process the back server doesn’t know your ip address (who the client is).

Benifits :

  1. Anonymity
  2. Caching
  3. Blocking Sites

Anonymity: as said in the above example the server doesn’t know who the client is

Caching : let suppose client 1 has requested some information and the proxy server fetches that info and keeps that with it and now the client 2 also comes and requests the same info then the proxy server doesn’t request the server as it already have the info which the client 2 needed so it pings back the same.

Blocking Sites : If there are some spam or dangerous requests (like continious req by some bot’s e.t.c), then this proxy server helps block those requests.

IMP : It can restricts the clients also.

Reverse Proxy:

In this the client doesn’t know to which server he is connecting to.

Source : https://www.google.com/search?q=reverse+proxy&sxsrf=ALeKk01gktmjXeDo-0-nwzq0L7UaTS78VA:1592281629717&source=lnms&tbm=isch&sa=X&ved=2ahUKEwjIt6-nv4XqAhUzwzgGHadwD88Q_AUoAXoECBYQAw&biw=1280&bih=578#imgrc=KIyfZjTzvIU-nM

For example the client request one request through the reverse proxy then it assigns or requests the request to the server which is free (The dumbest way of requesting the servers is using the Round Robin Algorithm)

Benifits:

  1. Load Balancing
  2. Caching
  3. Internal Traffic
  4. Logging

Load Balancing : as i said above it sees the server which is free and requests the request to that server.

Caching : Similar to the proxy server it also fetches the data and keeps that with it and if the another client requests the same, it pings back directly.

Internal Traffic : I need not expose the ports of the servers to the external world. I can manage the replicas of the server and assign the ports (can do all this stuff internally no to to expose to the external world) and there are some security stuff also(u guys research on this thing as i don’t know much about this i am not talking about it. 😃)

Logging : We can know the error logs for the respective server easily.

Note : If I can improve this blog I am ready to listen to you 🙂.

If you enjoyed reading this blog, please consider buying me a coffee to show your support. It would mean a lot to me and help me continue creating content that you love. https://www.buymeacoffee.com/jagadeeshmarali

--

--