Skip to main content

11. Name syntax (名称语法)

有时假设域名系统仅用于将互联网主机名映射到数据,以及将互联网地址映射到主机名。这是不正确的,DNS是一个通用的(尽管有些有限的)层次数据库,可以存储几乎任何类型的数据,用于几乎任何目的。

DNS本身对可用于标识资源记录的特定标签只施加一个限制。该限制与标签和完整名称的长度有关。任何一个标签的长度限制在1到63个八位字节之间。完整域名限制为255个八位字节(包括分隔符)。长度为零的完整名称被定义为代表DNS树的根,通常写为和显示为"."。除了这些限制外,任何二进制字符串都可以用作任何资源记录的标签。类似地,任何二进制字符串都可以作为包括域名作为其部分或全部值的任何记录的值(SOA、NS、MX、PTR、CNAME以及可能添加的任何其他记录)。DNS协议的实现不得对可以使用的标签施加任何限制。特别是,DNS服务器不得拒绝为包含可能对某些DNS客户端程序不可接受的标签的区域提供服务。DNS服务器可以配置为在加载时发出警告,或者甚至拒绝加载包含可能被认为有问题的标签的主区域,但这不应默认发生。

但是请注意,使用DNS数据的各种应用程序可以对在其环境中可接受的特定值施加限制。例如,任何二进制标签可以有一个MX记录,这并不意味着任何二进制名称都可以用作电子邮件地址的主机部分。DNS的客户端可以对它们用作DNS查找请求的键的值以及DNS返回的值施加适合其情况的任何限制。如果客户端有这样的限制,它完全有责任验证来自DNS的数据,以确保在使用之前符合要求。

另请参见[RFC1123]第6.1.3.5节。