协议内容
请求流程
HTTP框架的设计
分层设计
- 高内聚 低耦合
- 易复用
- 高扩展性
中间件设计
中间件需求
- 配合 Handler 实现一个完整的请求处理生命周期
- 拥有预处理逻辑与后处理逻辑
- 可以注册多中间件
- 对上层模块用户逻辑模块易用
洋葱模型
适用场景: 日志记录 性能统计 安全控制 事务处理 异常处理
路由设计
框架路由实际上就是为 URL 匹配对应的处理函数 (Handlers)
- 静态路由: /a/b/c、/a/b/d
- 参数路由: /a/:id/c (/a/b/c,/a/d/c)、/all
- 路由修复: /a/b <-> /a/b/
- 冲突路由以及优先级: /a/b、/:id/c
- 匹配 HTTP 方法
- 多处理函数:方便添加中间件