tinyhttpd 是一个超轻量型 Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,用来学习非常不错,可以通过阅读这段代码理解一个 Http Server 的本质。
建议源码阅读顺序: main -> startup -> accept_request -> execute_cgi,通晓主要工作流程后再仔细把每个函数的源码看一看。