项目结构
Thttpd的最终的源代码由8个.c文件和10个.h文件构成下面我来说一下主要文件的主要作用:
thttpd.c
这个文件是整个服务器的控制中心。
(1)分析用户配置命令,配置文件,进行相关信息(参考上一篇文章的讲述)的初始化以及处理,初始化服务器。
(2)根据操作系统的相关信号,并对这些信号进行处理,以及处理函数的实现。
(3)循环检测可进行处理的新的连接,读请求,发送回送,异常处理。
(4)服务器关闭处理
thttpd.c文件是HTTP服务器的整体核心框架。
libhttpd.c
这个文件是具体的实现了HTTP的所有功能主要包括:
(1)HTTP服务器初始化的具体实现
(2)HTTP服务器的关闭
(3)HTTP服务器监听端口的实现
(4)状态字符的定义
(5)添加回送数据
(6)发送回送数据
(7)发送mime类型
(8)写回送数据
(9)安全认证
(10)安全监测
(11)将网络字符转换为C 的标准字符
(12)将C标准字符转换为网络字符
(13)连接处理
(14)验证请求命令是否正确
(15)解析请求首部
(16)关闭连接的处理
(17)创建环境变量
(18)获取环境变量
(19)POST请求的处理
(20)CGI的处理
(21)CGI的具体处理
(22)请求正文内容的读取
libthttpd.c文件中的内容很多上面列举了一部分等到后面再详细的讲述这个文件具体做了什么,可能列举上述功能大家还比较迷糊只要明白这个文件是HTTP协议的具体的实现,主要处理服务器的初始化和销毁接收请求分析请求并对于请求进行回应(不管正确与否都应该有 回应)
fdwatch.c
这个文件主要是添加删