cocoon/.cocoon-plan.md
xfy911 43d5f6d54e docs(readme): 标记虚拟主机为完成,更新发展规划
- README 路线图:虚拟主机 / 多站点标记为  完成
- .cocoon-plan.md:重构为完整历史记录,包含所有功能完成时间线
- 项目进入维护阶段,所有 Phase 1-3 功能已完成
2026-06-10 06:03:49 +08:00

153 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 配置热重载**
- `server.h` / `server.c`: 新增 `server_request_reload()``server_reload_config()` 热重载 API
- 热重载范围root_dir、log_level、access_log、gzip/brotli、timeout、max_connections、vhosts、proxies、healthcheck
- 不可热重载项port、threaded、num_workers、tls_cert/key日志警告
- `main.c`: 新增 `sighup_handler()` 注册 `SIGHUP` 信号
- `tests/integration_test.sh`: 新增 SIGHUP 热重载集成测试3项
- 编译零警告190 个单元测试 + 109 项集成测试全部通过
- 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: **项目初始化**
- 创建仓库,核心模块全部实现
- 添加示例首页和基本文档