Program 2: Simple HTTP Client and Server

CS 455/555, Fall 2007, Weigle

Assigned: Tuesday, September 18, 2007
Due: Thursday, September 27, 2007 before class

CS 455/555 Description Requirements Rules Testing Submission

Description

For this assignment, we will be adding socket programming and our knowledge of the HTTP protocol to build two separate applications, a very simple HTTP server and a simple HTTP client.

Notes:


Requirements

HTTP Server
HTTP Client

Rules


Testing

  • Your client will be graded on how well it satisfies the requirements in handling a set of test URLs. Your server will be graded on how well it satisfies the requirements in handling a set of HTTP requests. You should test your programs rigorously before submitting.
  • Your HTTPClient must be able to talk to your HTTPServer.
  • Your HTTPClient must be able to talk to any web server.
  • Your HTTPServer must be able to talk to any web client. For example, if your HTTPServer is running on cash and listening to port 6789, then type the URL http://cash.cs.odu.edu:6789 into your web browser. You can also use proxy settings generate interesting requests. (Do not change proxy settings on lab machines!)

  • Submission

    You must name your HTTP client source file HTTPClient.java and your HTTP server source file HTTPServer.java. Make sure that you submit all files necessary to compile your program, but do not submit the .class files.

    Directions for submitting your assignment through Blackboard