# TinyWebServer **Repository Path**: menghaikang/tiny-web-server ## Basic Information - **Project Name**: TinyWebServer - **Description**: 阅读TinyWebServer源码时使用的注释版本 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 15 - **Forks**: 4 - **Created**: 2022-01-23 - **Last Updated**: 2025-08-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README TinyWebServer源码阅读笔记 =============== 阅读源码时记录下的笔记 * 百度云盘地址: https://pan.baidu.com/s/1X1w09zLrcr_gJgb_0qXESg * 提取码: fbxw TinyWebServer =============== Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器. 项目源址(https://github.com/qinguoyi/TinyWebServer) * 使用 **线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor和模拟Proactor均实现)** 的并发模型 * 使用**状态机**解析HTTP请求报文,支持解析**GET和POST**请求 * 访问服务器数据库实现web端用户**注册、登录**功能,可以请求服务器**图片和视频文件** * 实现**同步/异步日志系统**,记录服务器运行状态 * 经Webbench压力测试可以实现**上万的并发连接**数据交换 目录 ----- | [概述](#概述) | [框架](#框架) | [Demo演示](#Demo演示) | [压力测试](#压力测试) |[更新日志](#更新日志) |[源码下载](#源码下载) | [快速运行](#快速运行) | [个性化运行](#个性化运行) | [庖丁解牛](#庖丁解牛) | [CPP11实现](#CPP11实现) |[致谢](#致谢) | |:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| 概述 ---------- > * C/C++ > * B/S模型 > * [线程同步机制包装类](https://github.com/qinguoyi/TinyWebServer/tree/master/lock) > * [http连接请求处理类](https://github.com/qinguoyi/TinyWebServer/tree/master/http) > * [半同步/半反应堆线程池](https://github.com/qinguoyi/TinyWebServer/tree/master/threadpool) > * [定时器处理非活动连接](https://github.com/qinguoyi/TinyWebServer/tree/master/timer) > * [同步/异步日志系统 ](https://github.com/qinguoyi/TinyWebServer/tree/master/log) > * [数据库连接池](https://github.com/qinguoyi/TinyWebServer/tree/master/CGImysql) > * [同步线程注册和登录校验](https://github.com/qinguoyi/TinyWebServer/tree/master/CGImysql) > * [简易服务器压力测试](https://github.com/qinguoyi/TinyWebServer/tree/master/test_presure) 压力测试 ------------- 在关闭日志后,使用Webbench对服务器进行压力测试,对listenfd和connfd分别采用ET和LT模式,均可实现上万的并发连接,下面列出的是两者组合后的测试结果. > * Proactor,LT + LT,93251 QPS