Server RequirementsAccept HTTP GET requests from multiple clients. 
Retrieve the URL required from local disk storage. 
Return the URL data in a HTTP Response message. 
Support the If-Modified-Since header. 
Support the Date-Modified header on Responses. 
Support URL page relocation and the Location header. 
Support multiple concurrent client connections. 
Accepts requests on Port 4000. Client RequirementsReads in a user-specified URL from the keyboard. 
Issues a HTTP GET Request for the URL to the server. 
Receives HTTP Responses from the server. 
Handles automatic page relocation. 
Simulates local caching using If-Modified-Since headers. 
Displays the returned HTML on the screen or logs it to a local disk file. Depending on your Java expertise you could use available HTML classes to parse and display the page if you like, or else just dump it to disk and display a log message on screen. 有高人吗?