Multithreaded Web Proxy Server

In this project, receiving HTTP requests (GET and POST method) from a
browser and forwarding them to the origin server.Sending corresponding
HTTP responses receiving from the origin server to the client. Handling
multiple requests at the same time (multithreaded proxy server).Handling
errors when a client requests an object which is not available. Caching
web pages each time the client makes a particular request for the first
time and sending the cached web pages to the client when a cache hit
occurs. .