Goals of this assignment: understanding networking and client server systems. In this assignment, you will write a simple http web server that handles conjunctive search queries (like Google - searching for documents that match all of the query terms) and returns a list of hits. This server builds on the results of the ?rst and second projects. Generally, your server will spider a set of web pages, build an inverted index of the pages, accept requests for conjunctive searches, and return results.
Your program, to be called server, will take four command-line inputs:
1. The root URL to start from;
2. The maximum depth to crawl;
3. The number of worker threads to spawn;
4. The port number your server will run on.
(1)-(3) are exactly as in the spider project.
(4) is the port number the server will run on. Pick a large random number, such as the last 4 digits of your student id, to make sure you don't collide with someone else.