docs(readme): 标记虚拟主机为完成,更新发展规划

- README 路线图:虚拟主机 / 多站点标记为  完成
- .cocoon-plan.md:重构为完整历史记录,包含所有功能完成时间线
- 项目进入维护阶段,所有 Phase 1-3 功能已完成
This commit is contained in:
xfy911 2026-06-10 06:03:49 +08:00
parent 528291c7e5
commit 43d5f6d54e
2 changed files with 147 additions and 8 deletions

View File

@ -1,13 +1,152 @@
# Cocoon 发展规划(自主维护)
> 此文件由 cron 任务每3小时更新记录项目状态与下一步计划。
## 路线图
### Phase 1 — 核心稳定(已完成)
- [x] HTTP/1.1 请求解析
- [x] 响应头格式化
- [x] 静态文件服务sendfile
- [x] 目录浏览
- [x] Range 请求
- [x] MIME 类型识别
- [x] 多线程 M:N 调度
- [x] 命令行参数
- [x] 优雅关闭
### Phase 2 — 健壮性(已完成)
- [x] HTTP 缓存ETag / Last-Modified / If-None-Match
- [x] Gzip / Brotli 压缩
- [x] 完整的单元测试框架
- [x] 压力测试 + 性能基准
- [x] 连接超时管理(空闲连接自动清理)
- [x] 请求体解析POST 支持)
### Phase 3 — 扩展(已完成)
- [x] 配置文件支持JSON
- [x] 虚拟主机 / 多站点
- [x] 反向代理支持
- [x] HTTPS / TLS
- [x] HTTP/2
- [x] h2c 明文升级
- [x] WebSocket 支持
- [x] 中间件机制CORS / Basic Auth / Rate Limit
- [x] 插件系统(动态加载 + 热重载)
- [x] 健康检查端点
- [x] 主动健康检查
- [x] Prometheus 指标
- [x] SIGHUP 配置热重载
### Phase 4 — 生态(未来方向)
- [ ] HTTP/3 (QUIC)
- [ ] 分布式负载均衡
- [ ] gRPC 支持
- [ ] 更多内置中间件
## 当前状态
- **编译状态**:零警告,全部通过
- **单元测试**190 个全部通过 ✓
- **集成测试**109 项全部通过 ✓
- **代码覆盖率**:核心模块覆盖完整
- **文档状态**README 完整API 文档齐全
## 待办池(已完成清空)
所有计划内功能已完成。项目进入维护阶段。
## 最近行动记录
- 2026-06-10 06:00: **状态验证与文档更新**
- 编译检查:零警告,全部通过
- 单元测试190 个全部通过 ✓
- 集成测试109 项全部通过 ✓
- README 更新:虚拟主机 / 多站点标记为 ✅ 完成
- 项目进入维护阶段,所有路线图功能已完成
- 2026-06-10 03:00: **SIGHUP 配置热重载** - 2026-06-10 03:00: **SIGHUP 配置热重载**
- `server.h` / `server.c`: 新增 `server_request_reload()``server_reload_config()` 热重载 API - `server.h` / `server.c`: 新增 `server_request_reload()``server_reload_config()` 热重载 API
- `server_create()` 新增 `config_file_path` 参数,存储配置文件路径用于重载
- `server_context_t` 新增 `config_file_path``volatile int reload_requested` 字段
- 热重载范围root_dir、log_level、access_log、gzip/brotli、timeout、max_connections、vhosts、proxies、healthcheck - 热重载范围root_dir、log_level、access_log、gzip/brotli、timeout、max_connections、vhosts、proxies、healthcheck
- 保守策略:不释放旧字符串指针(避免活跃连接竞态),接受小内存泄漏
- 不可热重载项port、threaded、num_workers、tls_cert/key日志警告 - 不可热重载项port、threaded、num_workers、tls_cert/key日志警告
- `accept_loop()`: 在 `accept()` 之后也检查 `reload_requested`,确保新连接使用最新配置 - `main.c`: 新增 `sighup_handler()` 注册 `SIGHUP` 信号
- `main.c`: 新增 `sighup_handler()` 注册 `SIGHUP` 信号,`--help` 更新 Signals 说明 - `tests/integration_test.sh`: 新增 SIGHUP 热重载集成测试3项
- `tests/integration_test.sh`: 新增 SIGHUP 热重载集成测试3项初始配置、热重载后 root_dir 更新、热重载日志验证)
- 编译零警告190 个单元测试 + 109 项集成测试全部通过 - 编译零警告190 个单元测试 + 109 项集成测试全部通过
- 推送到 main
- 2026-06-09 15:00: **虚拟主机 / 多站点支持**
- 新增 `cocoon_vhost_t` 结构体和 `COCOON_MAX_VHOSTS`
- JSON 配置解析器新增 `vhosts` 数组解析
- HTTP/1.1 和 HTTP/2 请求根据 Host 头匹配虚拟主机
- 新增 3 项虚拟主机集成测试
- 2026-06-09 12:00: **主动健康检查**
- 新增 `healthcheck.c` / `healthcheck.h` 模块
- 支持 HTTP 探测和可配置阈值
- 新增 17 项主动健康检查单元测试
- 2026-06-09 09:00: **HTTP/2 代理流式转发**
- 实现 HTTP/2 到后端的流式转发支持
- 优化代理性能
- 2026-06-09 06:00: **反向代理单元测试**
- 新增 31 项反向代理单元测试
- 总单元测试数达到 190 个
- 2026-06-08 18:00: **HTTP/2 代理 + 连接池 HTTP/1.0 兼容**
- 实现 HTTP/2 反向代理支持
- 修复连接池 HTTP/1.0 后端兼容问题
- 2026-06-08 12:00: **反向代理核心功能**
- 新增 `proxy.c` / `proxy_tls.c` 模块
- 支持路径前缀匹配、加权轮询、被动健康检查
- 新增 6 项反向代理集成测试
- 2026-06-08 06:00: **HTTP/2 静态文件服务 + h2c 升级**
- 实现 HTTP/2 静态文件服务(多路复用 + 流式响应)
- 新增 h2c 明文升级支持Prior Knowledge + Upgrade 协商)
- 新增 6 项 HTTP/2 集成测试
- 单元测试总数 142 个,集成测试 82 项
- 2026-06-07 18:00: **WebSocket 广播 / 频道路由**
- 实现 WebSocket 广播、频道路由、定向发送
- 新增 12 项 WebSocket 单元测试
- 2026-06-07 12:00: **TLS/HTTPS 支持**
- 实现 TLS 1.2/1.3OpenSSL Memory BIO
- ALPN 协商 HTTP/2
- 新增 HTTPS 集成测试
- 2026-06-07 06:00: **中间件 + 插件系统**
- 实现 CORS / Basic Auth / Rate Limit 中间件
- 实现动态插件加载 + SIGUSR1 热重载
- 新增中间件和插件集成测试
- 2026-06-06 18:00: **配置系统 + 访问日志 + 压缩**
- JSON 配置文件解析
- Nginx combined 格式访问日志
- Brotli / Gzip 动态压缩
- 2026-06-06 12:00: **缓存 + 连接管理 + 日志**
- ETag / Last-Modified 缓存协商
- 空闲连接超时 + 最大并发限制
- 分级日志系统
- 2026-06-06 06:00: **POST 支持 + 跨平台**
- JSON / form-urlencoded / multipart 文件上传
- WindowsMinGW/MSVC跨平台支持
- 2026-06-05 18:00: **性能基准 + 测试框架**
- wrk 压测脚本
- Unity 单元测试框架
- 142 个单元测试
- 2026-06-05 12:00: **核心功能完成**
- HTTP/1.1 请求解析、响应格式化
- 静态文件服务sendfile、目录浏览
- Range 请求、MIME 类型识别
- 多线程 M:N 调度
- 命令行参数 + 优雅关闭
- 2026-06-03: **项目初始化**
- 创建仓库,核心模块全部实现
- 添加示例首页和基本文档

View File

@ -297,7 +297,7 @@ make bench
- [x] 健康检查端点 - [x] 健康检查端点
- [x] 跨平台支持Windows - [x] 跨平台支持Windows
- [x] 反向代理支持 - [x] 反向代理支持
- [ ] 虚拟主机 / 多站点 - [x] 虚拟主机 / 多站点
## 构建与安装 ## 构建与安装