有最大的子域深度吗?


36

网络服务器或浏览器是否支持最大允许的子域深度?

例如,像foo.bar.baz.monkey.pirate.google.com这样的域会引起问题吗?

Answers:


38

我相信DNS本身最多可以有127个级别的标签,每个标签最多可以包含63个字符,整个记录的最大长度限制为253个字符,因为您必须对长度进行编码,并以0结尾。


10
127个级别仅是255个字符限制的结果(包括长度和结尾的点,但不包括结尾的0)。
克里斯S

2
维基百科还提到了127级限制。zh_cn.wikipedia.org/wiki/Subdomain# 有关必须分别分析和测试的Web服务器和浏览器的
概述

1
需要注意的是,如果名称太长且令人费解,那么仅使用IP地址就更容易记住,因此存在一个实际的废话用户限制。
Milli 2014年

1
@milli好吧,这取决于域。对我来说,一个随机的32位数字比现在更难记了,现在所有的好男人都开始使用他们的国家。因为我不知道您的内存如何工作,但是我的绝对是一个图形数据库。
Parthian Shot

14

就点分隔的子域的数量而言,没有定义的最大值,但是DNS确实将主机名(包括点)的最大总长度限制为255个字符


1
Iain指出,这不是Q的一部分,但是每个“标签”的长度也受到限制。
克里斯S

2

由于rfc1035:

为了简化实现,域名的总长度(即标签八位字节和标签长度八位字节)限制为255个八位字节或更少。

每个标签表示为一个八位位组长度字段,后跟该八位位组数目。由于每个域名都以根的空标签结尾,因此域名的长度字节为零

因此,最大有效长度为255-2个符号(在DIG中测试)。整个UDP消息也应小于或等于512个字节。但这不是太小,并且使IPoverDNS成为可能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.