跳到主要内容

Appendix A. 常见问题

Structured Fields 并不试图覆盖所有可能的 HTTP 字段语法. 它提供一组受限且可互操作的数据结构, 适用于新字段或可迁移到该模型的字段.

该设计刻意限制了可表达的类型数量. 这样做可以减少解析差异, 避免每个字段重新定义自己的小型语言, 并提高中间件, 库和调试工具处理字段值的能力.

Structured Fields 使用严格序列化形式. 发送方应生成规范化输出, 接收方则按照定义的解析算法处理输入. 这种做法有助于比较字段值, 签名字段值以及在不同实现之间保持一致行为.

并非所有既有 HTTP fields 都适合改写为 Structured Fields. 对于已有复杂语法或广泛部署行为的字段, 直接迁移可能破坏兼容性. Structured Fields 主要面向新字段设计, 或面向能明确规定兼容处理的新版本字段.

字段作者应优先选择最简单的顶层类型. 如果字段只是单个值, 使用 Item; 如果是有序值集合, 使用 List; 如果需要按名称访问值, 使用 Dictionary.