Design and evaluate client/server network programming based on TCP and IP protocol suite under Linux OS using the Sockets Network Programming Interface.

computer science

Description

Learning Outcome: 

1. Implement a programming solution using network programming concepts 

2. Design and evaluate client/server network programming based on TCP and IP protocol suite under Linux OS using the Sockets Network Programming Interface.


Task 

Implement a concurrent HTTP Web Server. In this assignment you are asked to implement an HTTP client and concurrent HTTP web server running any HTTP version of your choice, handling multiple HHTP requests at a time. This project must be completed in C language. Your web server will accept and parse an HTTP request message, get the requested file from the server’s file system (you must create this file as well), create an HTTP response message consisting of the requested file preceded by appropriate message header lines, and send the response directly to the client. If the requested file is not present in the server, your server will send an HTTP “404 Not Found” message back to the client. 


The basic server actions; 

1. Initialize the server. 

2. Wait for a client connection on the port number specified by command line argument. 

3. When a client connection is accepted, read the HTTP request. 

4. Construct a valid HTTP response including status line, any headers you feel are appropriate, and, of course, the requested file in the response body. 


Related Questions in computer science category