HTTP/1.1 消息工作台

一条空行,为什么能决定正文从哪里开始?

先改动请求,再把它送进模拟服务器。你会看到:格式正确只代表消息“读得出来”,状态码、字段和正文还必须把同一件事说清楚。

格式与边界 业务语义 故障

组装请求

实时预览

试试 /orders/42/orders/crash

它描述的是发送正文的格式,不是你希望收到的格式。

UTF-8 正文长度:0 字节

制造错误

线路上的两条消息

尚未发送
客户端 → 服务器 REQUEST

            
服务器 → 客户端 RESPONSE
等待发送……

服务器必须先读懂请求边界,
才能交给路由和业务逻辑。
观察空行:字段区和正文之间必须有一行空白。Content-Length 计算的是正文编码后的字节数,不是肉眼看到的字符数。

逐项诊断

等待发送
还没有事务结果

先发送一次,再比较“格式能否解析”和“业务语义是否一致”。

提示

把消息拆成四段

跨版本保留语义
1 · 起始行

请求用 方法 目标 版本;响应用 版本 状态码 原因短语

2 · 字段区

HostContent-Type 等字段描述控制信息与元数据。

3 · 空行

空行不是排版装饰,它明确宣告字段区结束,下一字节可能属于正文。

4 · 可选正文

正文承载数据表示;是否存在以及怎样确定边界,必须遵守消息规则。

这是 HTTP/1.1 可读形式的教学模拟。HTTP/2 与 HTTP/3 在线上使用帧传输,但方法、目标、字段、状态码和内容的语义仍然存在。