diff --git a/.cocoon-plan.md b/.cocoon-plan.md index 3311169..bb980bd 100644 --- a/.cocoon-plan.md +++ b/.cocoon-plan.md @@ -34,7 +34,7 @@ - [x] **配置文件支持** — JSON 配置替代纯命令行 ✅ 2026-06-04 - [x] **Brotli 压缩** — 比 gzip 更高压缩率 ✅ 2026-06-04 - [x] **HTTPS / TLS** — OpenSSL Memory BIO 集成,支持命令行与配置文件启用 ✅ 2026-06-04 -- [ ] HTTP/2 +- [ ] HTTP/2 — nghttp2 骨架完成(编译通过),待 server.c 集成 ✅ 2026-06-04 - [ ] Windows 兼容性 ### Phase 4 — 生态 @@ -51,7 +51,7 @@ - POST 支持:JSON 和 form-urlencoded 回显,multipart 文件上传,Content-Length 解析,8MB 上限 - **配置文件支持**:JSON 格式,8 个字段,命令行参数可覆盖 - **TLS/HTTPS**:OpenSSL 3.0 Memory BIO + coco 协程集成,自签名证书支持,sendfile 降级为缓冲读写 -- README / Makefile 已更新 +- **HTTP/2**:nghttp2 骨架完成(编译通过),流管理、回调框架就绪,待 server.c 集成(ALPN 协商、h2c 升级) ## 待办池 @@ -62,6 +62,16 @@ ## 最近行动记录 +- **2026-06-04: 本轮行动 — HTTP/2 骨架实现** + - 新增 `http2.c` / `http2.h`:基于 nghttp2 的 HTTP/2 会话管理 + - 会话管理:fd → session 映射,最大 1024 并发会话 + - 流管理:链表结构,支持请求解析和响应发送 + - nghttp2 回调:send/receive、header 解析、frame 接收、stream 关闭 + - 修复编译:匹配 `http_request_t` 结构(`num_headers`/`headers[]`),使用 `log_error` 替代 `LOG_ERROR` + - Makefile:加入 `http2.c`、链接 `-lnghttp2` + - 编译通过,零警告(除 coco 子模块 linker 提示) + - 推送到 main + - **待完成**:server.c 集成(TLS ALPN 协商、明文 h2c 升级魔术字检测) - **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` 配置字段