Due - Monday January 31, 2011 - 11:59PM
The goal of this assignment is refresh your memory of socket programming and HTTP. For this assignment, you will complete Assignment 4: Web Proxy Server
(http://media.pearsoncmg.com/aw/aw_kurose_network_3/labs/lab4/lab4.html) described in the Kurose/Ross text.
- For full credit, you must implement caching as described in the Caching section and #3 of the Optional Exercises.
- You may use a programming language other than Java, but you must use raw sockets. If you use a HTTP library you will not receive full credit for the assignment.
- If you use Java, your program must run as described on the assignment page: java ProxyCache port
- If you use Java, you do not need to use the sample code provided on the website if you feel another design would be more appropriate.
- If you use a programming language other than Java, you must include a README that clearly describes how to compile and run your program on the CS lab machines and a run script that will run your program on the lab machines.
- By the deadline, all source code must be checked in to SVN at /<username>/cs621/lab1.
- Late projects will receive a score of 0.
- Projects that are submitted incorrectly will receive a deduction of up to 20%. This includes incorrectly named directories and missing source files. Double check your submission!
- 20 points - Compiles and runs as specified (includes was submitted in the correct directory)
- 10 points - Correctly fetches uncached pages
- 10 points - Correctly returns cached pages
- 10 points - Saves objects to disk
- 15 points - Use of sockets (correct and well-designed solution)
- 15 points - Use of threads (correct and well-designed solution)
- 10 points - Design of data structure
- 10 points - Code design