主要观点:
- 旨在提炼 HTTP、BitTorrent、Gemini 和 9p 背后的理念,创建用于可靠传输大型不可变文件的简单协议。
- 明确了目标(如简单、在恶劣网络条件和高延迟下性能良好等)和非目标(如内容协商等)。
- 采用类似 9p 的有状态请求/响应协议,结合类似磁链的哈希标识 URL,通过 TCP、TCP/TLS 或 QUIC 流确保可靠传输。
- 定义了两种请求类型(OPEN、READ)和两种响应类型(OK、ERROR)及各自结构。
- 介绍了 URL 方案(rtp、gemini+rtp)及相关规则。
- 说明了各设计的原理(如 READ.length 定义等)。
- 附录列出了错误字符串。
- 2024 年 10 月 28 日的勘误包括 READ 需新增字段、RTP 名称不具描述性等,并表示正在起草后续提案。
关键信息:
- 协议为草稿,不建议按当前形式实现。
- 非目标可通过外部协议处理。
- 各种请求和响应的结构及字段含义。
- URL 方案的参数及使用方式。
- 错误字符串的定义。
重要细节:
- 整数为小端序,令牌为 63 位不透明客户端选择标识符等。
- OPEN 请求的额外“uri”字段及响应负载处理。
- READ 请求的额外“offset”和“length”字段及响应负载规则。
- 服务器在响应错误时会取消后续针对该令牌的 READ 请求。
- 对 RTP 方案中各参数的说明及推荐。
- 利用 Gemini 实现可变标识符的方式。
- 后续提案将解决勘误中的问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。