跳到主要内容

2.3. SVCB Query Names (SVCB 查询名称)

2.3. SVCB Query Names (SVCB 查询名称)

当查询 SVCB RR 时, 服务被转换为 QNAME 的方式是在服务名称前添加一个表示方案的标签, 该标签以下划线为前缀, 从而生成类似 "_examplescheme.api.example.com." 的域名。这遵循 Attrleaf 命名模式 [Attrleaf], 因此方案必须在 IANA 中进行适当注册 (参见第 11 节)。

协议映射文档可以指定要添加的其他带下划线前缀的标签。对于指定端口的方案 ([URI] 的第 3.2.3 节), 一种合理的可能性是在指定了非默认端口号时添加指示的端口号。本文档将此行为称为 "Port Prefix Naming (端口前缀命名)", 并在整个示例中使用它。

有关 HTTPS RR 行为的信息, 请参见第 9.1 节。

当先前的 CNAME 或 SVCB 记录已别名到 SVCB 记录时, 每个 RR 应在其自己的所有者名称下返回, 就像在普通 CNAME 处理中一样 ([RFC1034], 第 3.6.2 节)。有关详细信息, 请参阅关于客户端 (第 3 节), 服务器 (第 4 节) 和区域 (第 10 节) 的别名建议。

请注意, 这些形式都不会改变用于验证目的的源或权威。例如, TLS 客户端必须继续验证原始服务名称的 TLS 证书。

作为示例, "example.com" 的所有者可以发布此记录:

_8443._foo.api.example.com. 7200 IN SVCB 0 svc4.example.net.

此记录表示 "foo://api.example.com:8443" 被别名到 "svc4.example.net"。反过来, "example.net" 的所有者可以发布此记录:

svc4.example.net.  7200  IN SVCB 3 svc4.example.net. (
alpn="bar" port="8004" )

此记录表示这些服务在端口号 8004 上提供, 该端口支持协议 "bar" 及其相关传输, 以及 "foo://" 的默认传输协议。

(括号用于忽略 DNS 区域文件呈现格式中的换行符, 根据 [RFC1035] 的第 5.1 节。)