不带 http://www 的域名的最大长度。 & .com 零件
Posted
技术标签:
【中文标题】不带 http://www 的域名的最大长度。 & .com 零件【英文标题】:Maximum length of a domain name without the http://www. & .com parts 【发布时间】:2013-01-02 08:51:24 【问题描述】:域中“名称”部分的最大长度是多少?
我指的是http://www.google.com
中的google
。 google
部分没有前后的内容可以持续多久?
【问题讨论】:
由于堆栈和***一直相互引用,我在这里找到了一些很好的总结:blog.sacaluta.com/2011/12/… 和 blogs.msdn.com/b/oldnewthing/archive/2012/04/12/10292868.aspx 【参考方案1】:在其外部点标签规范中,完整域名的总长度不得超过 253 个字符。
http://en.wikipedia.org/wiki/Domain_Name_System
如果您的域名接近 253 个字符,我认为您应该寻找一个较短的域名...
【讨论】:
其实我想把那个数字放到一个正则表达式中。 很明显,如果您的域名接近 253 个字符,它应该更短……但是您听说过这个叫做……互联网的东西吗?那里的人都疯了。你无法想象他们想出的一些东西。【参考方案2】:"URI 生产者应该使用名称 符合 DNS 语法的,即使不使用 DNS 立即显而易见,并且应将这些名称限制为不超过 长度为 255 个字符。”
https://www.rfc-editor.org/rfc/rfc3986
"DNS 本身对特定标签只设置了一个限制 可用于识别资源记录。那一个限制 涉及到标签的长度和全名。的长度 任何一个标签都限制在 1 到 63 个八位字节之间。一个完整的域 名称限制为 255 个八位字节(包括分隔符)。"
https://www.rfc-editor.org/rfc/rfc2181
【讨论】:
主机名是255,域名是253 ...带或不带分隔符?【参考方案3】:每个标签最多可包含 63 个字符。
【讨论】:
是的,技术上称为标签,最多可包含 63 个字符。来源:en.wikipedia.org/wiki/Domain_Name_System 感谢您的直截了当的回答。 63 (vs 255) 背后的部分原因是用于数据包压缩。 8 位长度的前 2 位中的 1,1 表示指向前一个标签的指针(should_actually 限制为 191) 将这些位检查为单个标志的一些糟糕的实现可能是原因对于 63 个字符的限制。 考虑到域可以嵌套,例如:www.group-of-hosts.department.example.com
- 因此每个标签可能有 63 个字符长,而没有 www.
和 .com
的完整域可能更长,如在这种情况下,它将是 group-of-hosts.department.example
- 这可能比 63 长。
来自同一个 wiki 来源:The full domain name may not exceed the length of 253 characters in its textual representation.
所以我认为在使用 sql db 时使用 255 长度的 varchar 来保存域名是安全的。【参考方案4】:
作为演示,本网站有一个63个字符的域名,允许的最大值: http://63-characters-is-the-longest-possible-domain-name-for-a-website.com
【讨论】:
网站已关闭,但这里是存档:web.archive.org/web/20160308231823/http://…【参考方案5】:TLDR 答案
使用这些限制:
标签:
61
个八位字节。名称:
253
个八位字节。
即使您超出了这些限制(例如 Gmail),许多应用程序也能正常工作,但也有许多较旧的应用程序不能工作。
来源
RFC1035: Domain Names - Implementation And Specification(1987 年 11 月发布)是公认的Internet Standard,在浏览器中查看时对子域和整个域长度有以下限制...
DNS 中的各种对象和参数都有大小限制。他们是 下面列出。有些可以很容易地改变,有些则更多 基础。
标签
63
八位字节 [字节/字符] 或更少名称
255
八位字节 [字节/字符] 或更少
这些的工作级别是:
标签:61
个八位字节。
名称:253
个八位字节。
这是因为RFC821
(1982 年 8 月发布)以user@domain.com
的格式定义电子邮件,user
的最小值将是一个字符。这样@
就剩下一个字符,然后domain.com
部分就只剩下253
字符了。
这已经被多次确认...
RFC2181: Clarifications to the DNS Specification(1997 年 7 月发布):只是一个建议的标准。 “一个完整的域名限制为 255 个八位字节(包括分隔符)。”
RFC3986: Uniform Resource Identifier (URI): Generic Syntax(2005 年 1 月发布):接受的 Internet 标准。 “URI 生产者应该使用符合 DNS 语法的名称,即使 DNS 的使用不是很明显,并且应该将这些名称的长度限制为不超过 255 个字符。”
RFC5321: Simple Mail Transfer Protocol(2008 年 10 月发布):只是一个提议的标准。该 RFC 给出了标签或子域的最大长度为 64
,比其他 63
多一个。我建议坚持使用63
。 “域名或号码的最大总长度为 255 个八位字节。”
每个标签(或子域)可以有 63 个字符,每个名称(包括 TLD)可以有 255 个字符。
注意它在 octets 中给出了定义。那是因为它正在查看物理字节,而不是文字字节。例如,\.
被解释为.
(一个文字字节),因为\
对其进行了转义,但它被编码为\.
(两个物理字节)。这些八位字节限制是物理字节限制。
【讨论】:
以上是关于不带 http://www 的域名的最大长度。 & .com 零件的主要内容,如果未能解决你的问题,请参考以下文章