View profile

Proxies - Software Shots - Issue #6

Proxies - Software Shots - Issue #6
By Karn • Issue #6 • View online
Hey there, this weekend I’ll be talking about proxy servers and their use cases. At the same time, I am also working on a side project called Some exciting news at the end.
So, this won’t be an extensive shot but an honest quick shot. 😛 

A proxy server is an intermediate server between the client and the backend server. Typically, they are used to filter requests, log requests, or sometimes transform them as well. The transformation can be of adding/removing headers, encrypting/decrypting, or maybe compressing a resource as well.
source: wikipedia
source: wikipedia
Let’s quickly go over the actual use cases of a proxy:
  • Caching: It can cache a lot of requests and directly respond instead of actually going to the backend server.
  • Anonymity: As far as Bob is concerned, he’s answering the Proxy and doesn’t know about Alice at all.
  • Logging: Pretty common across web/mobile apps.
  • Block sites: Ah let’s not go over the Indian government banning porn sites probably using a proxy server and me running my own VPN server on AWS to watch porn.
  • Microservices: You can deploy a proxy in front of your application and take care of networking across microservices, in multiple protocols.
Common Types
Let’s go over a few famous types of proxy servers.
Open Proxy
As the name suggests open proxy server is accessible by anyone on the internet. These can be of two types
  • Anonymous Proxy: This reveals its identity as a server but does not disclose the initial IP address. So it’s beneficial for some users as it hides their IP address.
  • Transparent Proxy: Thіs proxy server аgаіn іdentіfіes іtself, and wіth the support of HTTP heаders, the fіrst IP аddress cаn be vіewed. The mаіn benefіt of usіng thіs sort of server іs іts аbіlіty to cаche the websіtes.
Reverse Proxy
A reverse proxy retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client, appearing as if they originated from the proxy server itself. This is mostly used for TLS termination.
It gets the term reverse, as in a normal proxy scenario the server doesn’t know the client because the request comes from a proxy server. But in reverse proxy, the client doesn’t know the final destination server.
E.g, I tell a reverse proxy server to get me, it asks one of the thousand google servers and sends me back the response. I have no idea from which server it came from.
Let’s quickly go over the reverse proxy use cases:
  • Caching
  • Load balancing
  • Ingress (Common in Service-Oriented Architectures (SOA))
  • Canary Deployment: It’s a pattern for rolling out releases to a subset of users or servers.
You must not use a proxy instead of a VPN for anonymity. If you are using it, make sure it’s not a TLS termination proxy as a VPN only has access to the domain you’re visiting not the content. (assuming it’s https) But proxies with TLS termination actually decrypt the traffic and forwards the request over http.
Exciting News
I and @awalvie are working on moving lookatx to a website and also starting a separate newsletter where I and he will post every weekday with some interesting content. Here’s how the website looks like:
Have a good week! Cheers!
Last week in Did you have a look at X?
Nebular hypothesis - Wikipedia
マリウス . Tracked No More: Goodbye Google
Did you enjoy this issue?
By Karn

I build and create things. As of now, I work as a Software Engineer at SendX/SendPost.

If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue
Gyan Karn, Delhi, India - 110039