Boost.Beast 学习课程:HTTP 与 WebSocket

课程导航:学习路径 | Boost.System | Boost.Asio | Boost.Beast | Boost.JSON | Boost.MySQL 前置知识 课程 1: Boost.System(error_code、system_error) 课程 2: Boost.Asio(io_context、协程、TCP socket) HTTP 协议基础(请求/响应格式、状态码、头部) 学习目标 完成本课程后,你将能够: 理解 Beast 的 HTTP message 模型和 Body 类型系统 使用 Parser 安全解析 HTTP 请求(含 body_limit 保护) 编写协程式 HTTP 服务端和客户端 实现 WebSocket 升级和消息循环 读懂 Hical 的 HttpServer、HttpRequest/Response 封装和 WebSocket 集成 目录 前置知识 学习目标 目录 1. 核心概念 1.1 Beast 的定位 1.2 HTTP message 模型 1.3 Buffer 体系 1.4 Parser 与安全限制 2. 基础用法 2.1 构建 HTTP 请求和响应 2.2 协程式 HTTP 服务端 2.3 Parser 高级用法 3. 进阶主题 3.1 WebSocket 3.2 自定义 Body 类型 3.3 超时机制 4. Hical 实战解读 4.1 handleSession:完整 HTTP 处理循环 4.2 HttpRequest/Response 封装 4.3 WebSocketSession 封装 4.4 handleWebSocket:升级与消息循环 4.5 错误处理模式 5. 练习题 练习 1:基础 HTTP 服务端 练习 2:body_limit 保护 练习 3:WebSocket Echo Server 练习 4:Keep-Alive 练习 5(挑战):静态文件服务器 参考答案 练习 1 参考答案:基础 HTTP 服务端 练习 2 参考答案:body_limit 保护 练习 3 参考答案:WebSocket Echo Server 练习 4 参考答案:Keep-Alive 练习 5 参考答案:静态文件服务器 6. 总结与拓展阅读 Beast 核心 API 速查表 HTTP 请求处理数据流 拓展阅读 下一步 1. 核心概念 1.1 Beast 的定位 Beast 是协议实现库,不是 Web 框架。它在 Asio 之上添加 HTTP/WebSocket 协议的解析和序列化,但不提供路由、中间件等应用层功能(这些由 Hical 提供)。 ...

April 15, 2026 · 19 min · 3882 words