Let's Learn about Reverse Proxy under 10 minutes.
This is “Layman term” explanation of Proxy software/ apps / services.
We’ll learn and discuss about reverse proxy today.
We know how user gets its data on the application. I’ll do some simplification for you how an application works.
User sends a request to a server and server then sends a output ( response ) and it is shown to user.
So now you might be thinking, what is this “Reverse Proxy” thing, but ton understand reverse proxy we firstly need to know about forward Proxy.
Forward Proxy : Forward proxy software does one thing, it does the same thing user send a request to server to get some data from the server, but here user sends request to server through a proxy server.
You might ask what is the difference why do we even need to do that ??? Okay let me tell you with an example, take Netflix for example, say there is some content you want to watch which is not available in Netflix.in (Netflix India) but is available on Japan’s Netflix, So we as a user we can use a Proxy Software/Service(like a VPN service) to Mask our IP address (proxy address) to Japan and send a request to servers of Netflix and Servers of Netflix will show us content which is not available in our original location (India) .
Reverse Proxy: Now coming on to reverse proxy, Reverse proxy are “smart” software/ app/ Cloud service which provide a “layer of abstraction” to user.
User never interacts directly with the server, user send a request and these reverse proxy software listens on a port and then it communicates with the server(s) and fetches the data and then gives back an output to user.
There might be the data requested by user that is stored in different servers, user doesn't need to know from where the data is coming from, user doesn’t know what page/data is fetched here, user just needs to get an output on the their UI. Reverse proxy software handles all these things for the users. These software intercepts and inspects the request from the user and then forward it to the respected servers before responding back to user.
Reverse proxies are typically implemented to increase security, performance, scalability and reliability. A reverse proxy can protect the origin server’s identity from the clients by masking its IP address. These softwares are not “resource hog”, they are simply doing one task sending request and responses from “one place to another”.
Take for example, there is a user trying to fetch an e-commerce website so user should see the content and items which is available in their country(location) say user is in India and it types in website URL for American “version” of the website so these app will redirect the user to India’s server( Indian “version” of website), just like that there might be different services may be running on a different ports of a same server or entirely another server, user will not get to know how and from where data is coming from, it is all handled by reverse proxy server/service.
So it was a short read about the reverse Proxy.
Let’s discuss about it in comments, there is something you wnat to add let me know in comments, i’m a learner after all.
References : Google and a Youtube Tutor named “Hitesh Chaudhary” who runs a channel called “Chai aur Code” and “Hitesh Chaudhary”.
https://youtu.be/zmrhxrYxonE?si=lBfS5Fh5d3bCScEc (video on Reverse Proxy on “Chai Aur Code”)
If you have come this far in this read please consider subscribing to “Hitesh Chaudhary” and “Chai Aur Code” On You-tube. 🍵
Thank you!! Jai Hind.