Author: Prashant
Old Dominion University
Build Docker Image
docker build --tag web:v1.0 .
Run Docker Image
docker run --rm -it -p 3001:80 -v ${PWD}:/app --entrypoint bash web:v1.1
This repository contains assignments and resources related to the CS 431/531 Web Server Design course at Old Dominion University, taught by Dr. Sawood Alam. The course focuses on developing a standards-compliant HTTP web server with an in-depth exploration of HTTP protocols, web architecture, and server-side execution.
- Instructor: Dr. Sawood Alam (@ibnesayeed)
- Institution: Old Dominion University (ODU)
The course covers a wide range of topics related to web server design, including but not limited to:
- HTTP Basics
- Introduction to HTTP
- Web Architecture (W3C)
- Using
telnet
,curl
, andwget
- URIs, Logs, and MIME Types
- Git/GitHub workflow
- Socket Programming
- Python for Web Servers
- Conditionals & Redirections
- ETags and Date-time
- Introduction to Docker
- Long-lived Connections & Pipelines
- Range and Partial Content Handling
- Character, Content, and Transfer Encodings
- Content Negotiation
- Authentication and Authorization
- Unsafe Methods & CGI
- HTTPS, HTTP/2, HTTP/3
- REST and HATEOAS Concepts
- Web Archiving (WARC, IPFS, IPWB)
All assignments are done on top of the previous one, resulting in a single main branch that contains all the assignments.
Assignment | Description |
---|---|
Assignment 1 | Basic web server implementation with logs, methods, headers, and MIME types. |
Assignment 2 | Conditionals, redirections, long-lived, and pipelined connections. |
Assignment 3 | Encoding, content negotiation, and partial content. |
Assignment 4 | Authentication and authorization mechanisms. |
Assignment 5 | Unsafe methods and server-side execution with CGI. |