Computer Systems

Course Details:







Module Overview

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.

Learning Outcomes

Upon successfully completing the course, you will be able to:

  1. Understand the client server architecture

  2. Able to learn the concepts of web server and its request, responses

  3. Understand the concepts of concurrency

  4. Understand and Learn the concepts of Cache

  5. Learn the importance of proxy and its uses