代码拉取完成,页面将自动刷新
v0.3.5 --> v0.5.0
新增:定时器模块,定时发出信号,由独立的线程调用相应的回调函数;
优化:降低LOG::get_time()函数的执行频率,由定时器控制每60秒执行一次;
优化:去除独立的日志线程,改由定时器定时将日志数据写入文件;
优化:大幅降低使用write系统调用的次数,提升运行效率;
优化:代码及部分注释清理、优化;
v0.3.3 --> v0.3.5
优化:自动获取服务器ip地址,无需在运行时手动输入;
v0.3.0 --> v0.3.3
新增:守护进程,服务器启动后将脱离终端,在后台运行;
优化:日志模块,写文件之前判断日志文件是否存在,若不存在则重新创建;
优化:日志模块,添加日志记录时间、优化日志记录格式;
v0.2.0 --> v0.3.0
新增:日志系统,记录服务器运行情况及资源访问情况;
新增:ip地址及端口号合法性校验;
v0.1.0 --> v0.2.0
新增:支持访问文件名为中文的文件;
新增:添加更多响应头部字段 -> Content-Type(默认text/plain)、Date(GMT);
修复:修复文件内容为中文时的乱码问题(未指定字符集);
优化:代码清理;
初始版本:《Linux高性能服务器编程》讲解代码;
基于C++编写的服务器,支持解析get请求,处理静态资源;
使用非阻塞的EPOLL边沿触发(ET模式)实现IO多路复用;
使用线程池提高并发度,降低频繁创建、销毁线程的开销;
使用有限状态机解析http请求;
usage: ./WebServer ip port
默认网站根目录(src/http_conn.cpp: line-25):/var/www