What is a Proxy Server?

A proxy server is a computer which operates as a gateway between a local network, such as a set of web servers, and the internet.

Proxy servers work by handling traffic from users or other servers and then forwarding the requests to a web server or even a set of web servers. When the web server responds, this content can often be cached by the proxy server, which will reduce subsequent response times for the same content, and reduce the amount of traffic the web server needs to handle.

Not only can a proxy server reduce response times via caching, they offer a number of additional benefits such as:

There are a few different types of proxy servers, with different benefits and use-cases, which are detailed below.

Reverse Proxy Server

A reverse proxy server is one type of proxy servers, which will sit in front of one or more web servers. A few benefits with this type of setup are privacy, reduced response time and loadbalancing. In regards to privacy, with a reverse proxy server, end users will never connect directly with the origin web servers, so they will not become informed of their addresses. 

Another benefit is load balancing, since the proxy server can distribute web traffic amongst the available web servers, so a single web server will not become overloaded.

Finally, since a proxy server can often cache content for an extended period of time, which it is then able to use for subsequent requests, a proxy server can help reduce response time for end users requesting the same content, such as an image or javascript file.

Forward Proxy Server

A forward proxy server is one which sits in front of a set of client machines and will intercept requests made by these machines and acts as the middleman, making the requests on their behalf. This setup is common in public areas such as schools or libraries. One of the benefits of this setup is the system admins are able to control what type of content the client machines are able to request. It can also increase privacy, since in this setup, often times, the end web servers never connect directly with the client machines and instead only connect to the proxy server.