网络服务器或浏览器支持的最大子域名深度是多少?
例如,像 foo.bar.baz.monkey.pirate.google.com 这样的域名会导致问题吗?
答案1
我相信 DNS 本身最多可以有 127 级标签,每个标签最多可以有 63 个字符,并且整个记录的最大长度限制为 253 个字符,因为您必须对长度和终止的 0 进行编码。
答案2
对于以点分隔的子域名的数量,没有定义最大值,但 DNS 确实将主机名(包括点)的最大总长度限制为255 个字符。
答案3
由于 rfc1035:
为了简化实施,域名的总长度(即标签八位字节和标签长度八位字节)限制为 255 个八位字节或更少。
还
每个标签都表示为一个八位字节长度字段,后跟该数量的八位字节。由于每个域名都以根的空标签结尾,因此域名以零长度字节终止
因此,最大有效长度为255-2符号(在 DIG 中测试)。整个 UDP 消息也应小于或等于 512 字节。但这并不太小,并且使 IPoverDNS 成为可能。