【发布时间】:2014-08-08 08:35:29
【问题描述】:
关于主机名的语法,像this 这样的问题的答案通常参考RFC 1123 和RFC 952,但没有提到RFC 921,这似乎对主机名施加了额外的限制。可能有一堆关于DNS(和IDN)的后续RFC,其中涵盖了对DNS处理的主机名的限制。
DNS 处理的主机名和主机名的有效语法存在很多混淆。
哪些 RFC 规定了主机名的语法要求,哪些 RFC 规定了 DNS 处理的主机名的附加限制?
【问题讨论】:
关于主机名的语法,像this 这样的问题的答案通常参考RFC 1123 和RFC 952,但没有提到RFC 921,这似乎对主机名施加了额外的限制。可能有一堆关于DNS(和IDN)的后续RFC,其中涵盖了对DNS处理的主机名的限制。
DNS 处理的主机名和主机名的有效语法存在很多混淆。
哪些 RFC 规定了主机名的语法要求,哪些 RFC 规定了 DNS 处理的主机名的附加限制?
【问题讨论】:
您引用 RFC 1123 和 RFC 952 是正确的,但您省略了 RFC 2181“对 DNS 规范的说明”。具体而言,第 11 条包含以下文本:
...任何可以用作任何资源记录标签的二进制字符串。
由于“主机名”是具有A 记录的域名,因此该文本似乎允许任何有效的域名也被视为有效的主机名。
几年前,我问过本文的一位作者,这是否是预期的解释,他证实是这样。然而,这种观点并未被广泛接受,对于您关于什么是合法主机名的问题,DNS 社区内仍然没有普遍认同的答案。
附言您误读了 RFC 1123 - 它绝不会说 63 和 255 是标签和域名的下限。 63 位限制实际上是由 DNS 标签的有线格式强制执行的,该格式仅保留 6 位作为标签的长度。
【讨论】:
您可以查看RFC 1035。 这是一个纯粹基于 DNS 的 RFC,并解释了其中的一些限制。
【讨论】: