Students implement a concurrent caching Web proxy that sits between their browser and the rest of the World Wide Web. This lab exposes students to the interesting world of network programming, and ties together many of the concepts from the course, such as byte ordering, caching, process control, signals, signal handling, file I/O, concurrency, and synchronization.
In this course, students build a simple concurrent caching Web proxy that accepts HTTP 1.0 requests from clients, forwards them to end servers, and then sends the replies back to the clients. The proxy caches objects returned by the end servers, and attempts to satisfy requests from clients from the cache before forwarding the requests to the end servers.
Upon successfully completing the course, you will be able to:
Understand the client server architecture
Able to learn the concepts of web server and its request, responses
Understand the concepts of concurrency
Understand and Learn the concepts of Cache
Learn the importance of proxy and its uses