由于最近要自己实现一个嵌入式web服务器,所以开始了对嵌入式web服务器的相关学习。为了使自己对服务器了解更加深入,便找到了开源的服务器进行了相关学习。‘
首先学习的是 thttpd
thttpd 是一个小型的 HTTP 服务器
官方网址:http://www.acme.com/software/thttpd/
下载 version 2.25b 的源码后解压,切换到源码目录,编译步骤为:
./configure
make
thttpd一共有16个源文件:
config.h fdwatch.h libhttpd.h match.h mmc.h tdate_parse.h timers.h version.h
fdwatch.c libhttpd.c match.c mmc.c strerror.c tdate_parse.c thttpd.c timers.c
fdwatch是套接字管理模块
mmc是内存管理模块
timers是定时器管理模块
libhttpd实现http 服务端的处理方法
thttpd实现了主函数
下面是主模块的大体流程图: