Differences Between Forward Proxy and Reverse Proxy

There are mainly two types of proxy servers: forward proxy and reverse proxy. When people talk about proxy servers, most of the time they mean forward proxy.

Differences Between Forward Proxy and Reverse Proxy

The main difference between the two is that forward proxy is used by the client such as a web browser whereas reverse proxy is used by the server such as a web server. Forward proxy can reside in the same internal network as the client, or it can be on the Internet.

Forward Proxy

Forward proxy can be used by the client to bypass firewall restrictions in order to visit websites that are blocked by school, government, company etc. If a website blocked an IP range from visiting the website, then a person in that IP range can use forward proxy to hide the real IP of the client so that person can visit the website and maybe leave some spam comments. However forward proxy might be detected by the website administrator. There are some paid proxy service that has numerous proxy systems around the world so that they can change your IP address every time your visit a new web page and this makes it harder for website administrators to detect.

Forward proxy was very useful and popular in the 1990s. Before NAT is integrated into network routers, forward proxy is the way for multiple computers in the same network to access the Internet. This type of forward proxy usually resides in the internal network.

Forward proxy can also act as a cache server in an internal network. If a resource is download many times, then the proxy can cache the content on the server so next time when another computer download the same content, the proxy will send the content that is previously stored on the server to the computer.

There’re many different kinds of forward proxy such as web proxy, HTTP proxy, SOCKS proxy etc. Please keep mind that using forward proxy to browse the Internet usually slows down your overall Internet speed. That depends on the location between your computer and the forward proxy and how many people are using that forward proxy.

Another thing to be aware of is that there’re many free forward proxies which is built by hackers for malicious purpose. If you happen to be using one of these proxies, they will log every activity you do on the Internet.  So free in charge is actually very costly.

Reverse Proxy

Reverse proxy is mainly used by server admins to achieve load balancing and high availability. A website may have several web servers behind the reverse proxy. The reverse proxy server takes requests from the Internet and forward these requests to one of the web servers. Most visitors don’t know websites are using reverse proxy because they usually lack the knowledge and tools to detect it or they simply don’t care about it. Nginx can be acting both a web server and a reverse proxy at the same time. HAProxy is another well-known open-source reverse proxy software.

reverse proxy

As Node.js become more and more popular in the web development community, web developers often put the builtin Node.js web server behind another web server like Nginx, so Nginx is the reverse proxy. One example is the Ghost blog platform.

Rate this tutorial
[Total: 161 Average: 3.8]

8 Responses to “Differences Between Forward Proxy and Reverse Proxy

  • varun gupta
    1 year ago

    Thanks for the info in relation to the real world examples.

  • On point differences, beating the stackoverflow thread for me.

  • Very useful article.

    Thanks.

  • chanchal
    12 months ago

    good

  • Useful, Thanks a lot!

  • Ravinder Saini
    9 months ago

    I didn’t know about reverse proxy

    Thanx for the details

  • can we say like this the forward proxy will hide the identity of the client machine (which is making the request) and reverse proxy will hide the identity of the server machine (which is giving the response). is it right

Leave a Comment

  • Comments with links are moderated by admin before published.
  • Your email address will not be published.
  • Use <pre> ... </pre> HTML tag to quote the output from your terminal/console.
  • Please use the community (https://community.linuxbabe.com) for questions unrelated to this article.
  • I don't have time to answer every question. Making a donation would incentivize me to spend more time answering questions.