CA2: Programming Assignment
1. The homework is due on Wednesday, April 15, 2020 at the start of lecture.
2. You should submit your code electronically on LumiNUS (in the folder
In this assignment you are expected to do the following:
Implement a HTTP server with support for persistent connections. The server should be
capable of serving the following three files (make up your own files):
Next, implement two HTTP client programs which request the three files sequentially (one
after the another). The first client is supposed to use HTTP persistent connections and the
second one should use non-persistent HTTP connections (the request for every item
creates a new transport layer connection). For both the clients, compare and report the
retrieval time for all the items individually.
Submission: Your submission is expected to contain the following files zipped together.
The zip file should be named as “MATRIC-ID NAME.zip”.
a. One server file (source code).
b. Two client files (source code).
c. One readme file explaining how to run the programs.
d. One report (PDF only) reporting and explaining your observations.
You can try to use the different techniques discussed in class.
The clients and servers can be implemented in C or Python or any other language of your
Make sure to follow the above mentioned format while submitting your assignment
(failing to do so might incur some deduction in points).