实现一个HTTP服务器的Demo

在学完linux高级编程后,开启一个HTTP服务器的demo,因为一个完整的http服务器涉及的范围很广,远不是一个人可以全部完成的。所以这个demo只是实现了http服务器的一个简单的功能->GET请求。包括请求html文件和图片(jpg &png)。下面是实现的一些思路:

工作流程:
1.获取初始化服务器配置信息
2.初始化服务器参数
3.启动服务器,监听端口
4.与客户端建立链接,启动子进程处理请求
5.解析请求文件,获得请求文件头
    if 请求方式为 GET 
        ----参见6
    else
        ----暂不处理
6.获取请求文本类型
7.获得请求文件路径
8.开启多线程处理文件
    if 文件存在
        读取文件数据
    else 文件不存在
        读取error.html
9.生成响应头
10发送响应头
11.发送响应数据
12断开连接

关于服务器与客户端(浏览器)连接后的工作时序图如下:
实现一个HTTP服务器的Demo_第1张图片

关于代码,下面准备传送门:https://gitee.com/dengmingli/httpFuWuQi/tree/master

你可能感兴趣的:(linux)