Proxies

A proxy is a server that sits between a client and server and mediates the request. This mediator handles the communication between the sender and receiver in many different ways.

Types of Proxies

Transparent proxy:

A transparent proxy acts without a user's knowledge. This proxy sits between a client and server without modifying the client's request, however, it logs and monitors request activity. Places such as schools or workplaces use this proxy.

Distorting proxy:

Similar to an anonymous proxy, Distorting proxies utilize their IP address instead of the user's IP however, it identifies as a proxy server request. The receiving server can identify the requesting proxy server. Market researchers for example use an anonymous proxy when collecting research data.

Anonymous proxy:

Also known as an elite proxy. This proxy does everything as a distorting proxy however it hides the requesting user's identity by stripping out all user info from the request. This proxy acts and resembles the client as opposed to a proxy server. Users in high-risk countries performing content searches or nefarious actions use this proxy.

Proxy functions

Besides the above-mentioned proxies have many uses:

  1. 1. Client logging
  2. 2. Caching resources and bandwidth
  3. 3. Client Privacy
  4. 4. Improved security
  5. 5. Access to IP or geographically blocked servers
  6. 6. Request compression
  7. 7. Serving static content
  8. 8. SSL termination (decrypting requests)
  9. 9. Load balancing requests
  10. 10. Authentication

Disadvantages of proxies

While proxy servers offer advantages there are also disadvantages:

  1. 1. Data Misuse
  2. 2. Selling data
  3. 3. Stealing Sensitive data such as credit card info
  4. 4. Increases system complexity for developers
  5. 5. Added point of failure if using one proxy
  6. 6. Servers rejecting proxy connections
  7. 7. Increased latency

Proxy and load balancer

Proxy and load balancer behave similarly but differ overall. While a proxy may use a load balancer, a load balancer by itself is not a proxy

Realworld proxy examples

VPN: A VPN is a type of Anonymous proxy located in a different geographical location from the user. VPN's make requests on the user's behalf to access geo-restricted content such as Netflix shows or apps in different countries.

CDN: A CDN is a transparent, reverse proxy, service. The CDN intercepts and forwards requests on the user's behalf before hitting the primary server.

Load Balancing
Scaling