The aim of this project is to get more insights, from a programming perspective, on how the interaction between the Web browser (Chrome, Internet Explorer, Firefox … etc) and the Web server happens.
Use your knowledge in sockets programming to write the following programs:
1. A client program that executes a single HTTP GET to a Web server to retrieve any type of content from any website.
2. A client program to execute a single HTTP GET to a Web server to retrieve a complete file, from any website, and store it locally.
Hint: the HTTP response header fields are of variable number and variable length (depending on the URL requested and the Web server reached).
3. Write a client program to do serial HTTP GETs (that is, a sequence of GETs) to a Web server.
NOTE: All of the programs should conditionally compile for Winsock or BSD sockets.
The project is based on three programs that you should write. You are required to prepare a report for this project as per the following details:
- Report: a brief report that is based on two sections. In the first section, titled "Introduction", provide some background about the HTTP protocol and web servers (at least 1-page long, font size 12, 1.5 line spacing, justified). In the second section, titled "Software Implementation", provide a brief description of your programs and how you thought about their development. You should list your codes in this section and explain how to test (provide some snapshots on the output generated by your codes).