docs(plan): 更新 TLS/HTTPS 完成状态,调整待办优先级

This commit is contained in:
xfy911 2026-06-04 14:36:16 +08:00
parent 7747ec921f
commit cffb433c1e

View File

@ -33,7 +33,7 @@
### Phase 3 — 扩展 ### Phase 3 — 扩展
- [x] **配置文件支持** — JSON 配置替代纯命令行 ✅ 2026-06-04 - [x] **配置文件支持** — JSON 配置替代纯命令行 ✅ 2026-06-04
- [x] **Brotli 压缩** — 比 gzip 更高压缩率 ✅ 2026-06-04 - [x] **Brotli 压缩** — 比 gzip 更高压缩率 ✅ 2026-06-04
- [ ] HTTPS / TLS - [x] **HTTPS / TLS** — OpenSSL Memory BIO 集成,支持命令行与配置文件启用 ✅ 2026-06-04
- [ ] HTTP/2 - [ ] HTTP/2
- [ ] Windows 兼容性 - [ ] Windows 兼容性
@ -45,24 +45,37 @@
## 当前状态 ## 当前状态
- 编译通过,零警告(除 coco 子模块的 linker .note.GNU-stack 提示) - 编译通过,零警告(除 coco 子模块的 linker .note.GNU-stack 提示)
- **37 项集成测试全部通过**GET/HEAD/POST/404/Range/304/gzip/brotli/MIME/目录浏览/路径防护/文件上传) - **39 项集成测试全部通过**GET/HEAD/POST/404/Range/304/gzip/brotli/MIME/目录浏览/路径防护/文件上传/TLS握手/HTTPS响应
- **125 个单元测试全部通过**Unity 框架server 测试 17 个) - **127 个单元测试全部通过**Unity 框架1 个忽略),新增 2 个 TLS 集成测试
- 压测数据wrk -t4 -c100 -d10s → 16,179 RPS平均延迟 59.86μs - 压测数据wrk -t4 -c100 -d10s → 16,179 RPS平均延迟 59.86μs
- POST 支持JSON 和 form-urlencoded 回显multipart 文件上传Content-Length 解析8MB 上限 - POST 支持JSON 和 form-urlencoded 回显multipart 文件上传Content-Length 解析8MB 上限
- **配置文件支持**JSON 格式8 个字段,命令行参数可覆盖 - **配置文件支持**JSON 格式8 个字段,命令行参数可覆盖
- **TLS/HTTPS**OpenSSL 3.0 Memory BIO + coco 协程集成自签名证书支持sendfile 降级为缓冲读写
- README / Makefile 已更新 - README / Makefile 已更新
## 待办池 ## 待办池
1. **[高] HTTPS / TLS** — 生产部署必备 1. **[高] HTTP/2 多路复用** — 长期演进方向
2. **[高] HTTP/2 多路复用** — 长期演进方向 2. **[中] Windows 兼容性** — 平台抽象层platform.h / platform.c
3. **[中] Windows 兼容性** — 平台抽象层platform.h / platform.c 3. **[中] Doxygen 中文注释** — 所有模块的公共 API 需要完整文档
4. **[中] Doxygen 中文注释** — 所有模块的公共 API 需要完整文档 4. **[低] 检查远程更新内容** — 上游有 new commits需 review 9041d8d
5. **[低] 检查远程更新内容** — 上游有 new commits需 review 9041d8d
## 最近行动记录 ## 最近行动记录
- **2026-06-04: 本轮行动 — 修复拼写错误 + 扩展 server 单元测试** - **2026-06-04: 本轮行动 — 实现 TLS/HTTPS 支持**
- 新增 `tls.c` / `tls.h`OpenSSL 3.0 Memory BIO 与 coco 协程 I/O 集成
- `cocoon.h`:新增 `tls_enabled`, `tls_cert`, `tls_key` 配置字段
- `server.c`accept 后执行 TLS 握手,读/写/关闭路由到 TLS 层
- `static.c`TLS 连接降级 sendfile 为缓冲 read+write修复 lseek 定位(压缩读取后重置文件位置)
- `config.c` / `config.h`JSON 配置支持 `tls_cert`, `tls_key`, `tls_enabled`
- `main.c`:新增 `--cert`, `--key`, `--tls` CLI 选项
- `Makefile`:加入 `tls.c`,链接 `-lssl -lcrypto`
- 生成自签名测试证书 `tests/server.crt` / `tests/server.key`
- `tests/integration_test.sh`:新增 TLS 握手 + HTTPS 响应验证,修复 `kill_server` 匹配规则curl 添加 `--max-time``-k`
- `tests/unit/test_config.c`:更新 `config_merge` 测试签名
- 单元测试127 个通过1 忽略集成测试39 个通过(含 2 个 TLS 测试)
- 推送到 main
- **2026-06-04: 本轮行动 — 修复拼写错误 + 扩展 server 单元测试17 个)**
- `cocoon.h``COCOONForbidden``COCOON_FORBIDDEN`(统一下划线命名) - `cocoon.h``COCOONForbidden``COCOON_FORBIDDEN`(统一下划线命名)
- `test_server.c`:从 5 个测试扩展到 17 个 - `test_server.c`:从 5 个测试扩展到 17 个
- 空 root_dir 边界测试 - 空 root_dir 边界测试