CS 431/531 Web Server Design, Fall 2019

Instructor: Sawood Alam <>

Location: Dragas Hall (DRGS) 1117

Time: Thursdays, 4:20-7:00pm

Office Hours: Thursdays, 3:00-4:00pm and by appointment (E&CS 3102)

CRNs: 20452 (CS431) and 20453 (CS531)

Prerequisites: Familiarity with Unix/Linux, Socket programming, Git, and Docker


Discussions: (You need to subscribe to this repository and regularly check posted issues)

Textbook: HTTP Developer’s Handbook by Chris Shiflett

This class will focus on the complete understanding of the Hypertext Transfer Protocol (HTTP) and the implementation of a web server. The class will be programming intensive: prerequisites include the understanding of network (socket) programming. The students will decide their own implementation language within the Unix/Linux environment; the lectures will be strictly about HTTP and not about any particular programming language.

The student will implement an HTTP server with five assignments that demonstrate protocol conformance. The assignments will build on the previous assignments, and at the end of the class the student should have a fully functioning web server that implements most of the common HTTP functionalities. There will be no class textbooks; class lectures and RFCs will be the primary guide for students. Grades will be determine solely on the design and performance of the HTTP servers.

Students will have their own HTTP server implementation in their private GitHub repositories with the instructor added as a collaborator in each repository to allow code access for review and testing. Each server will be deployed in a Docker container for testing on a remote machine.

Attendance Policy

Attendance is required for class participation, presentation, and discussion. Absences must cleared with the instructor prior to class. You are responsible for everything that is said, discussed, and presented during class.


The class grade will consist of 5 Assignments of 20 points each. Late assignments lose 3 points for every 24 hours they are late unless prior arrangements are made with the instructor. Readings and assignment descriptions will be released on a rolling basis during the semester.

Grade Graduate Undergraduate
A 94-100 92-100
A- 90-93 90-91
B+ 88-89 87-89
B 84-87 82-86
B- 80-83 80-81
C+ 78-79 77-79
C 74-77 72-76
C- 70-73 70-71
D+ N/A 67-69
D N/A 62-66
D- N/A 60-61
F 00-69 00-59

Honor Code

Please familiarize yourself with the ODU Honor Code, especially resources pertaining to Plagiarism and Academic Integrity.