Aim: socket programming in Java: TCP
In this project we would develop a Web server in two steps. In the end, you will have built a multi-threaded Web server which is capable of processing multiple immediate service requests in parallel. You must be able to show that your Web server replies to an HTTP GET request.
We are going to execute version 1.0 of HTTP, as defined in RFC 1945, where separate HTTP requests are sent for each component of the Web page. The server will be able to handle various simultaneous service requests in parallel. This means that the Web server is multi-threaded. In the main thread, the server listens to a fixed port. When it receives a TCP connection request, it sets up a TCP connection through other port and services the request in a separate thread. To simplify this programming task, we would develop the code in two stages. In the first stage, you would prepare a multi-threaded server which simply displays the contents of the HTTP request message that it receives. After this program is running properly, in the second stage you would add the code need to produce an appropriate response.