Web服务器在传输层仍然使用TCP协议,所以主程序前半部分是固定套路。使用epoll IO多路复用监听客户端IO,如果有连接接收连接,如果有可读消息,读取消息,消息是HTTP请求报文,格式如下,其中每一行均以\r\n结尾
读取消息的主函数是do_read函数,其中使用了get_line读取一行消息的辅助函数
get_line函数详解
处理get请求函数
发送HTTP相应报文
发送文件函数
处理目录函数
Web服务器在传输层仍然使用TCP协议,所以主程序前半部分是固定套路。使用epoll IO多路复用监听客户端IO,如果有连接接收连接,如果有可读消息,读取消息,消息是HTTP请求报文,格式如下,其中每一行均以\r\n结尾
读取消息的主函数是do_read函数,其中使用了get_line读取一行消息的辅助函数
get_line函数详解
处理get请求函数
发送HTTP相应报文
发送文件函数
处理目录函数