摘要
- RFC 5385 描述的 Word 模板可以让预览、直接打印与合规 ASCII 文本在行和页上高度一致,但真正的文本还要经过受控样式、纯文本打印文件和 Perl 后处理程序。
- 因而,视觉相同只能证明一个呈现层。现代 RFC 政策把 RFCXML 定为 definitive format,并把 HTML、纯文本、PDF 视为 publication versions,正是为了把语义权威与多种呈现分开。
四个“文档”同时出现在会议室里
桌面上有一份 Word 文件。投影幕上有它的打印预览。共享目录里有经过处理的文本。网站上又有公开版本。参会者往往把它们统称为“那份文档”,仿佛只是同一个东西换了容器。
RFC 5385 迫使我们把它们拆开。它在 2010 年以 Independent Submission、Informational 的身份发布,介绍第二版 Microsoft Word 模板。作者可以使用熟悉的可视化编辑界面,以大纲方式调整章节,并预览接近 RFC ASCII 版面的结果。对于不愿直接书写 nroff 或 XML 的作者,这是一项切实的降低门槛设计。
但屏幕内容并不会自动成为合规文本。规范记载的生成过程是:使用 Generic/Text Only 打印机形成 .prn 文件,再运行 Perl 后处理程序。程序删除回车,替换智能引号与连字符,清理页脚与下一页页眉之间的空行,插入换页控制符,并检查非法字符。
所以,Word 源、预览画面、打印中间物和最终文本分别拥有不同字节、不同失效方式与不同证明能力。页面逐行相似是一项有价值的验收结果,却无法替其余三层发言。
样式定义了结构,字号只定义了外观
第二版模板重新定义 Word 内建的 Normal、Heading1 到 Heading9、Header、Footer、Caption,并增加图、列表、参考文献与附录样式。RFC 5385 强调,不应使用模板之外的样式。
这不是审美偏好。内建标题样式使大纲模式能够提升、降低章节并自动重编号。一个手工加粗、放大的段落可以和真正的标题长得一样,却不会进入同一结构体系。
这种差别在今天更常见。颜色和下划线可以伪装链接,空格可以伪装表格,短横线可以伪装列表,视觉框可以伪装分区。对肉眼而言,它们可能毫无区别;对屏幕阅读器、索引器、转换器和档案系统而言,它们是不同对象。
因此,审核不应只截取页面。还要导出标题树、阅读顺序、链接目标、图像说明、引用关系与机器可读标识。视觉检查回答“读者此刻看到了什么”,结构检查回答“系统实际保存了什么”。两份收据缺一不可。
转换程序没有署名,却参与了编辑
把弯引号改成 ASCII 引号,听上去像无害清理。可一旦字符代表姓名、公式、协议标记或法律区别,替换就是决策。删除页眉页脚之间的空行同样依赖对页面边界的正确判断。检查非法字符则决定哪些内容可以进入最终文件。
RFC 5385 把 Perl 程序放入附录,使规则至少可以被阅读。这比一个完全封闭的导出按钮更好。不过,附录中的代码并不自动证明实际执行的是同一份代码,也不记录运行环境、输入与退出状态。
一条完整生成收据至少包括:获批源文件哈希、模板版本、转换程序哈希、操作系统与字体环境、参数、诊断输出、生成时间和产物哈希。若某些字段必须动态变化,就要明确哪些变化允许出现,并另做语义对比。
“使用官方工具”不够精确。官方工具也有版本,版本也有配置,配置也可能在没有页面差异的情况下改变元数据或结构。工具可信度不能替代本次运行的可验证记录。
稳定 RFC 指向了会变化的模板
RFC 5385 的安全章节记录了一个看似微小的问题。模板按当时的开发与发布方式不含宏。作者考虑把 .dot 模板和 .pl 程序的 MD5 值写进 RFC,但模板会随着 IETF boilerplate 要求变化,无法在固定文本中永久绑定;当时的校验值转而与外部工具一起发布。
这里不能把 MD5 当作今天的建议。真正重要的是生命周期错位:解释文档固定,运行资产可变。只说“RFC 5385 模板”并不能唯一定位某次使用的模板内容。
企业中的“标准合同”“最新报表模板”“统一披露格式”经常存在同样问题。名称从不变化,里面的条款、字段或默认行为却被覆盖更新。几个月后,两份文件都声称来自同一模板,组织却无法证明各自用了哪个版本。
可变模板需要独立的发布编号、哈希、生效时间、负责人和变更说明。生成文档要保留这项引用。模板自动插入的法律或政策文本仍应在展开后审核,不能因为模板名字获得了授权,就假设每次输出都正确。
参考文献暴露了“看起来一样”的脆弱性
旧版方案使用尾注。RFC 5385 说明,第一处引用可能定义尾注,删除这处引用会连带删除参考文献,即使后面还有交叉引用。新版把编号参考文献放在正文段落中,并支持以书签实现作者—年份标签。
编辑前,两种页面可以十分相像。删除一次引用之后,它们的行为却不同。静态外观无法说明对象在下一步修改中会发生什么。
测试模板时,应主动移动标题、删除首个引用、加入附录、替换图注、重新生成目录并导出所有承诺格式。真正的质量不是某个样本漂亮,而是重要结构在正常变化与边界条件下仍保持。
自动报告同样如此。十行数据成功,不代表一百行仍保持阅读顺序。英文名字成功,不代表其他文字不会消失。一个文档系统必须通过变化中的不变量证明自己,而不是靠一张理想截图。
后来的 RFC 政策把权威层写进制度
随着 ASCII 单一格式无法满足可访问性、元数据、图形、国际字符与不同设备的需要,RFC 6949 提出新要求,RFC 7990 给出格式框架。2025 年的 RFC 9720 取代 RFC 7990,并清晰区分四个概念。
RFCXML 是 definitive format;以它发布的 RFC 是 definitive version。HTML、纯文本和 PDF 是 publication formats;具体文件是 publication versions。definitive version 要包含发布时已知的全部语义信息,并足以生成各类公开呈现。关于发布意图的争议回到这一层解决。
不能把 2025 年术语倒推成 2010 年 Word 文件的历史身份。两者的联系在于治理结构:RFC 5385 的实践已经说明编辑视图、转换与输出不是一个对象;RFC 9720 后来明确规定哪一层拥有语义权威,哪些层负责服务不同读者。
组织也应作出同样选择。数据库、结构化源、PDF、网页与签名副本可以各自承担任务,却不能不经说明地同时宣称“最终”。必须预先写明冲突时以谁为准,以及其他副本如何证明来自它。
可以重新生成,但不能悄悄覆盖历史
RFC 9720 允许在限定理由下重新发布 definitive version 或 publication versions,例如修正 XML 错误或更新生成工具。要求是尽最大可能保留语义,公开记录原因,并保存可访问的旧版本。
这比“永远不改”更接近长期档案现实。格式会老化,工具会发现缺陷,可访问性也会进步。但更新行为本身会带来风险:再生成可能引入无意变化,甚至破坏标准或关键协议信息。
所以,一次重新发布必须同时保留新旧源与新旧呈现、哈希、工具版本、变更理由、语义差异和审核人。只保留最新 PDF 不是维护历史,而是替换历史。
现行 RFC 9920 又把组织责任拆开:政策形成、批准与 RFC Production Center 的实施各有主体,发布工具的设计维护也有明确责任。运行工具的人必须保证生产可靠,却不会因为掌握生成入口就获得修改意义的权力。
一张截图无法提供的四类收据
第一类是意图收据:谁撰写、哪份语义源获批、范围是什么。第二类是转换收据:具体输入、工具、配置、告警与输出。第三类是发布收据:谁赋予编号、状态、公开位置和时间。第四类是档案收据:旧版本、重发原因与恢复路径。
截图属于转换收据中的视觉验证。它对表格、分页和图形十分重要,但无法代替其他收据。哈希也有边界:它证明两组字节相同,不证明这些字节完整、获批或具有公共权威。
验收时,应让未参与生成的人在干净环境中重建产物,解释任何差异,再模拟一次重发并找回旧版。如果最后只能说“它们看上去一样”,那么页面已经验收,文档仍然没有。
来源
- RFC 5385 HTML
- RFC 5385 纯文本
- RFC 5385 发布记录
- IETF Datatracker 中的 RFC 5385
- RFC 3285:早期 Word 模板
- RFC 9720:RFC 格式与版本
- RFC 7990:RFC 格式框架
- RFC 7991:RFCXML 词汇
- RFC 8153:数字保存考量
- RFC 6949:RFC 格式需求
- RFC 7322:RFC 风格指南
- RFC 9920:现行 RFC Editor Model
- RFC 9280:上一版 RFC Editor Model
- RFC 7992:HTML 格式
- RFC 7994:纯文本格式
- RFC 7997:RFC 中的非 ASCII 字符
- RFC Editor:RFC 如何产生
- Heng Lu,Minimum Initial Specification
- Heng Lu,Running-Code Primacy
- Heng Lu,Reality Layers and Symbolic Power
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
