This project is for ECE-568 Homework2 For this assignment you will be writing an http proxy – a server whose job it is to forward requests to the origin server on behalf of the client. Your proxy will cache responses, and, when appropriate, respond with the cached copy of a resource rather than re-fetching it.
These instructions will get you a basic idea of how to run
- git clone https://gitlab.oit.duke.edu/wl177/erss-hwk2-aw343-wl177.git
- cd erss-hw2-aw343-wl177
- sudo docker-compose up
- use your browser(Expected Firefox) to check
- exam the /var/log/erss/proxy.log file
For Details, please checkout our Requirement Spreadsheet
- Support GET
- Support POST
- Support CONNECT
- Cache appropriate responses
- Follow the rules of expiration time
- Follow the rules of re-validation (e.g. no-cache)
- Good Cache Maintainance (e.g. Size, LRU Evict)
- Multithread to handle a request
- Synchronization for our caches
- A Deamon log file to record required information
- Good C++ OO Design
- Exception Guarantee
- Docker
- Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
- Hypertext Transfer Protocol (HTTP/1.1): Caching
- Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
- Wending Lin (NetID: wl177)
- Anqi Wang (NetID: aw343)