Based on (but not equivalent to) COS-461 [Princeton University] HTTP Proxy assignment here
using TCP as the transport layer protocol.
HTTP proxies have a lot of use cases, from caching, authentication and preventing users from accessing malicious websites. They’re widely used in the world wide web and in business settings. Businesses use proxies to prevent their employees from surfing malicious websites, and enforce authentication and logging. Websites use proxies to provide caching and load balancing that shrinks websites load time.