URL部分的名称和最大长度

时间:2012-05-11 13:48:44

标签: url subdomain

在此网址中:

http://www.subdomain.domainname.abc.xyz.com.us/directory/filename.extension
  1. 每个部分的名称是什么?
  2. 每个部分的最大长度是多少?例如子域名,域名,顶级域名......

3 个答案:

答案 0 :(得分:22)

Subdomain的维基百科条目回答了这两个问题:

  1. 每个部分的名称是什么?
  2.   

    子域是属于较大域的域;唯一不属于子域的域名是root domain。例如,west.example.comeast.example.comexample.com域的子域,后者又是com top-level domain(TLD)的子域。 “子域”表示相对依赖性,而不是绝对依赖性:例如,wikipedia.org包含org域的子域,en.wikipedia.org包含域wikipedia.org的子域。

    1. 每个部分的最大长度是多少?例如子域名,域名, 顶级域名......
    2.   

      理论上,这个细分可以深达127级,每个DNS label最多可以包含63个字符,只要整个域名的总长度不超过255个字符。但实际上,大多数域名注册管理机构限制为253个字符。

答案 1 :(得分:7)

回答问题1:

简单的URI看起来像:

http://www.mywebsite.com

从右到左解释起来比较容易:

  • com是顶级域名(TLD)
  • mywebsite是域名,但在描述时通常包括TLD,例如: mywebsite.com
  • www是子域名
  • http://是用于访问资源的协议

只是为了让事情变得更加混乱,许多顶级域名实际上是2个域名,例如.co.uk

所以,另一个例子是:

https://aaa.bbb.ccc.mywebsite.co.uk
  • co.uk是TLD
  • mywebsite是域名
  • ccc是子域名
  • bbb是子域名,或者您可以说ccc.mywebsite.co.uk的子域名
  • aaa是一个子子域名,或者你可以说是bbb.ccc.mywebsite.co.uk的子域名

在TLD之后但在文件名之前的任何内容被称为路径,例如:

https://www.mywebsite.com/this/is/a/path/to/resource/filename.txt

在上面的例子中,filename.txt通常被称为资源(虽然有人会说整行是资源,因为你并不总是有文件名)。

答案 2 :(得分:1)

TLDR - 名称

给定 foo://example.com:8042/over/there?name=ferret#nose,根据 RFC3986(2005 年 1 月)...

     foo://subdomain.example.com:8042/over/there?name=ferret#nose
     \_/  \________/                /\_________/ \_________/ \__/
      |       |                          |            |        |
          \___|_____________________/
   scheme   label       authority       path        query   fragment
   (AKA:                (AKA:
   protocol)            (domain)

TLDR - 最大长度

  • 标签/子域:最多 63 个字符。
  • 域:最多 253 个字符
  • 总网址:最多 2,000 个字符

详情

现在,让我们将其分解为给定 URL http://www.subdomain.domainname.com/directory/filename.extension?name=ferret#nose 的替代版本:

协议

  • http:// :方案或协议。
    • 最大长度:没有强加限制,但这些通常由 IETF 创建,因此最长的 RFC 方案将是最大值,我将其视为 prospero, 8 个字符。 但是!您可以制定自己的协议并使其具有任何合理的长度,但我可能不会超过 255 个字符。例如,Chrome 中的 file:/ 将显示文件,Linux 中的 samba:/ 将启动 Samba 应用程序并访问资源等。
    • 来源:RFC1738(1994 年 12 月)
    • 引用:“关于特定协议的说明如下。涵盖的方案包括:ftp、http、gopher、mailto、news、nntp、telnet、wais、file、prospero。”

子域

  • www, subdomain : www 只是一个流行的子域,在今天是多余的。
    • 最大长度:63 个字符
    • 来源:RFC1035(1987 年 11 月)
    • 引用:“标签不得超过 63 个字符。”

  • domainname.com :您的“域”,不是它的任何级别,而是完整域。
    • 最大长度:253 个字符,如果您关心电子邮件(SMTP 中 to 字段的最大限制为 255 个字符,让您使用 a@(253-char-domain) 作为电子邮件中最长的域;255 如果您不介意电子邮件不起作用
    • 来源:RFC2821(2008 年 10 月)、RFC5321(2008 年 10 月)、RFC821(1982 年 8 月)
    • 引用:
<块引用>

域名或域名的最大总长度为 255 个字符。 (RFC2821, RFC5321)

[电子邮件地址格式为] <mailbox> ::= <local-part> "@" <domain> (RFC821)

二级域名

  • domainname :您的二级域名。
    • 与子域相同的限制和来源。

顶级域名

  • com :您的顶级域 (TLD)。这也可能包含一个句点,如 co.uk
    • 最大长度:这些是由 IETF 的 RFC 建立的。最大长度将是存在的最长 TLD。例如,RFC6927 为沙特阿拉伯保留了域 .XN--MGBERP4A5D4AR
    • 来源:RFC920(1984 年 10 月)
    • 引用:“最初的顶级域名是:ARPA、GOV、EDU、COM、MIL、ORG。”

路径

  • directory/filename.extension :这是你的道路。
    • 最大长度:Infinite但在实践中,URL 的长度不要超过 2,000 个字符,因为并非所有浏览器都能理解无限的概念。
    • 来源:RFC3986(2005 年 1 月)、RFC2616(1999 年 6 月)、RFC7230
    • 引用:
<块引用>

“服务器必须能够处理它们所服务的任何资源的 URI,并且应该能够处理无限长度的 URI...” (RFC2616);

“本规范不限制可能是资源的范围……” (RFC3986);

*“建议所有 HTTP 发送方和接收方至少支持 8000 个八位字节的请求行长度。” (RFC7230)

查询和片段

  • name=ferret :这是一个 GET 参数,形式为 field=value
  • #nose :这是片段,可用于使用 <a name="nose" /> HTML 锚定到 HTML 文档的特定部分。
    • Max:如上面关于路径的部分所述,总路径、查询和片段不应超过 2,000 个字符。
    • 来源:RFC3986(2005 年 1 月)
    • 引用:
<块引用>

URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]