实现一个HTTP服务器的Demo

来源:互联网 发布:mac安装第三方软件 编辑:程序博客网 时间:2024/06/12 19:09

在学完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.html9.生成响应头10发送响应头11.发送响应数据12断开连接

关于服务器与客户端(浏览器)连接后的工作时序图如下:
这里写图片描述

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