Resources for Building a Web Server

Exercise: pick a use-case (eg: static file server, streaming file server, database web server) and implement the bare minimum to be able to interact with it using standard tools (eg: curl).
This means probably only supporting ipv4, HTTP/1.1 (1.2 is relatively complicated), and omitting most of the contents of the corresponding specs.
I am working on hosting my personal site on such a web server instead of github.io.