S4 · Build an HTTP Server (without net/http)

S2’s front door and the identical servers standing behind it. Every one of those backends is the program this project builds: something that reads a request off a socket and writes a response back.
Before you start. You’ve built S2, which let Go’s net/http library handle every byte of every request. This project takes that library away. You need ports and connections, and Enough Go is an optional first read. The slow build of the same server, one lesson per wall, is the From Scratch HTTP series starting at Build Your Own HTTP Server - From Scratch; this page turns that build into one repo of your own and does not repeat its detail.