RTP

主要观点:

  • 旨在提炼 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 实现可变标识符的方式。
  • 后续提案将解决勘误中的问题。
阅读 11
0 条评论