Sunday, June 15, 2014

What are Proxy Servers ?

Generally from the client PC it appears, as though, it is directly communicating to the server.












































But, it is not ever so. There is always an intermediary called proxy server.

We all have used encapsulation in the software programming world. In the case of distributed systems, the encapsulation is obtained by placing an encapsulating server in between client and server. This proxy server acts as an intermediary between the client and the other servers.




Uses of proxy server

That is just a bookish definition of proxy server. But a proxy is needed because there are many uses of proxy servers though.

  • A proxy server provides more control for the administrator on the data passing over the network. Using authentication on the proxy server, administrator can control who accesses the data and also restrict access to certain contents. This is usually done in offices, colleges and schools.
  • Logging of data flowing over the network
  • Encryption of data can be done using a SSL, whose certificate/keys can only be placed in proxy server instead of every client on the network. For more on SSL, read my previous blog post.
  • Proxy servers can also improve performance by acting as a cache and only going to server in case of a cache miss.
  • For localization of content, a proxy server can be used.
  • Of-course, a proxy encapsulates, which means that it can guard the client from the outside world. This means that the computers behind the proxy are isolated from the world on the other side of proxy.
In today's world, people use proxy on world wide web to have anonymity on the web.


Based on what the proxy server does, there are types of proxy servers:

Forward Proxy












































This is the one, which "forwards" the traffic from the client to the internet. and retrieve the data based on the that request to the client. These proxies generally reside more closer to client. This is a client side concept.
The forward proxy needs to keep track of which client made which request and correspondingly route the responses from various servers.



Reverse proxy











































A reverse proxy is a server side concept. This usually resides near the server serving content. Server owners have to service request of clients, and most of the times the client are not from your internal network. A reverse proxy acts as an intermediary to these nearby servers and provides the data to client as though the server returned them.


The whole end to end looks like this:





No comments:

Post a Comment