# 场景验证与复现

## 可靠性场景：制品下载网关

`http_scenario_test.mbt` 构造 2500 条反向代理响应，通过真实的大小写不敏感头
查找、字段合并、Base64 解码、SHA-256/SHA-512 和策略判定路径。

| 输入类别 | 条数 | 预期结果 |
|---|---:|---|
| 双摘要与正文一致 | 2000 | `Verified` |
| 摘要对应另一正文 | 250 | `Mismatch` |
| 非法 Base64 字段 | 125 | `InvalidField` |
| 缺少摘要字段 | 125 | `MissingField` |

复现命令：`moon test --target js`。2026-09-21 在 MoonBit
`moonc v0.10.12+1634b282e` 上结果为 17/17 测试通过。测试还覆盖 RFC 9530
SHA-256 示例、NIST SHA-512 `abc` 向量、含零字节正文、分块计算、重复 HTTP
字段行、大小写头名、算法协商、过时算法策略和资源上限。

## 性能工作负载

`examples/bench` 使用 64 字节正文，对“HTTP 头查找与合并 + 双摘要字段解析 +
Base64 解码 + SHA-256 + SHA-512 + 摘要比较 + 结果分类”的完整路径执行 20000 次。

```sh
moon run examples/bench --target js
```

2026-09-23 本机 Windows/JavaScript 后端五次顺序运行耗时 991、1011、981、
1020、998 ms，中位数 998 ms，约 20040 条/秒。结果会随环境变化；验收重点是命令可复现、
校验总数完整且无错误，而不是固定吞吐阈值。

## 内容与表示边界

- `Content-Digest` 校验实际 HTTP 消息内容字节；
- `Repr-Digest` 校验选定表示字节；
- 本库不会猜测或自动解压内容编码，调用方负责传入语义一致的字节；
- 批量审计保留每条记录的稳定代码，便于告警、统计和取证。
- HTTP 适配器不发送网络请求，只处理框架传入的头和值，因此可复用于服务端、
  客户端、网关或离线抓包工具。
