To myself...

A proxy server is typically a gateway that sits between two entities involved in a request-response model.

Forward proxy

Before getting to specifics, there are 2 types of proxies used in worldwide web. The first type is the forward proxy server. It sits between a client (usually a browser controlled by a user) and an external network, in this case the internet.

Usually, forward proxy is used to limit the client from accessing certain websites or even malicious ones. Let's take the example of a university setting with students using the school wifi. If they try to hit certain websites such as Facebook, the proxy server has the ability to block the requests, and thus making students more focused on their studies rather than watching cute puppies and cats in their feed - just kidding.

Forward proxy is also use to reach servers that are only accessible in certain geographic locations. For example, some tv series are only available in UK however, you're in Asian region. You can use VPN server sitting on UK to make the request on your behalf. Cool right?

Reverse Proxy

Now that you have the big picture of understanding the forward proxy, let us discuss the second type which is the reverse proxy. This type of proxy sits between numerous private resources and the outside network full of clients.

Again, to be more specific, let's say the outside network is the internet with users using their browser to access your servers. If your servers contain private data that is only accessible by the users having an account to your website, you will not expose these servers directly to the internet. Typically, you will place a proxy in front of all these public clients to receive, validate and return the response based on their credentials.

Also, validating credentials isn't only what reverse proxy is meant to do. A well-known function of reverse proxy is load balancing. Let's take for example an e-commerce website. If your website is popular and millions of people are interacting with it daily, having one server to serve all the requests will likely lead to a slow response time. In most cases, it's a bad user experience which may lead to users finding better alternatives - you don't want to lose your customers, right? So what you do is spin up multiple servers and balance (I won't discuss the algorithms here) the requests coming in to your website.

Wrap up

In this short article, I've discussed what is proxy server and its two types. The forward proxy server works to protect or limit the client from accessing the external network (usually the internet). The reverse proxy server on one hand works to protect and balance the server workloads in your network from the public clients making requests to retrieve information.


This free site is ad-supported. Learn more