CS U640: Network Fundamentals

Fall 2004
Programming Assignment 1 (70 points)

Due: Tuesday, October 12, 11:59 PM

In this assignment, you will design a multi-threaded web server, following the guidelines in Assignment 1 of Chapter 2 of the Kurose-Ross text.    Important snippets of Java code are provided at the course web site, and are also included in the handout distributed in class.

You only need to handle "GET" requests.  Your server should be capable of generating responses with status codes "200 OK", "400 Bad Request", "404 Not Found", and "505 HTTP Version Not Supported", whenever appropriate.  Your server should also be able to handle requests for files of basic MIME types GIF and JPEG.

Bonus points

For bonus points, you may provide additional functionality for your web server, such as the capability of handling HEAD and PUT requests (the last one without authentication, so be careful), conditional GET, and additional status codes.

What you need to submit

Please submit a zip file electronically, that contains:

Please email your submission to our TA Shweta Jain (shweta AT ccs ).

Please also submit a hard copy of the source and README files in class on Wednesday, October 13.