首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >URL部分的名称和最大长度

URL部分的名称和最大长度
EN

Stack Overflow用户
提问于 2012-05-11 13:48:43
回答 3查看 26.7K关注 0票数 22

在这个URL中:

代码语言:javascript
复制
http://www.subdomain.domainname.abc.xyz.com.us/directory/filename.extension
  1. 每个部分的名称是什么?
  2. 每个部分的最大长度是多少?例如子域、域名、顶级域…
EN

回答 3

Stack Overflow用户

发布于 2012-10-31 09:42:49

子域的维基百科条目回答了两个问题:

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

子域是较大域的一部分;唯一也不是子域的域是根域。例如,west.example.comeast.example.comexample.com域的子域,而example.com域又是com 顶层域 (TLD)的子域。“子域”表示相对依赖,而不是绝对依赖:例如,wikipedia.org包括org域的子域,en.wikipedia.org包括域wikipedia.org的子域。

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

理论上,这种细分可以降到127个层次,每个DNS标签可以包含63个字符,只要整个域名不超过255个字符的总长度。但实际上,大多数域注册中心限制在253个字符。

票数 30
EN

Stack Overflow用户

发布于 2014-02-02 15:19:44

回答问题1:

一个简单的URI看起来如下所示:

代码语言:javascript
复制
http://www.mywebsite.com

从右到左更容易解释:

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

为了让事情更加混乱,许多顶级域实际上是两个域,比如.co.uk。

因此,另一个例子是:

代码语言:javascript
复制
https://aaa.bbb.ccc.mywebsite.co.uk
  • co.uk是TLD
  • 我的网站是域名
  • ccc是一个子域。
  • bbb是子域,也可以说是ccc.mywebsite.co.uk的子域。
  • aaa是子子域,或者可以说是bbb.ccc.mywebsite.co.uk的子域。

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

代码语言:javascript
复制
https://www.mywebsite.com/this/is/a/path/to/resource/filename.txt

在上面的例子中,filename.txt通常被称为资源(尽管有些人会说整行都是资源,因为您并不总是有一个文件名)。

票数 9
EN

Stack Overflow用户

发布于 2021-03-16 17:50:21

TLDR -名字

给定foo://example.com:8042/over/there?name=ferret#nose,您的组件可以按以下方式分解,根据RFC3986 (2005年1月)。

代码语言:javascript
复制
     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'd方案将是最大的,我认为它是prospero8字符。不过!您可以制定自己的协议,并使其具有任何合理的长度,尽管我可能不会超过255字符。例如,Chrome中的file:/将显示文件,Linux中的samba:/将启动Samba应用程序并访问资源等等。
    • 资料来源:RFC1738 (1994年12月)。
    • 引用:“下面是关于特定协议的注释。涵盖的方案包括: ftp、http、gopher、mailto、news、nntp、telnet、wais、file、prospero。”

SubDomain

  • wwwsubdomainwww只是一个流行的子域,今天是多余的。
    • 最大长度:63字符
    • 资料来源:RFC1035 (1987年11月)。
    • 引文:“标签必须是63个字符或以下。”

域名

  • domainname.com:您的“域”,不是它的任何级别,而是完整的域。
    • 最大长度:如果您关心电子邮件( SMTP中to字段的最大限制是255字符,则为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:您的顶级域。它还可能包含一个句点,如co.uk
    • 最大长度:这些是由IETF建立的RFC。最大长度将是最长的TLD存在。例如,RFC6927为沙特阿拉伯保留了.XN--MGBERP4A5D4AR域。
    • 资料来源:RFC920 (1984年10月)。
    • 最初的顶级域名是: ARPA,GOV,EDU,COM,MIL,ORG。

路径

  • directory/filename.extension:这是你的路。
    • 最大长度:2,000 characters,:Infinite,但在实践中,请不要停留在URL上,因为并不是所有浏览器都能理解无限的概念。
    • 资料来源:RFC3986 (2005年1月),RFC2616 (1999年6月),RFC7230
    • 引用:

“服务器必须能够处理它们服务的任何资源的URI,并且应该能够处理长度无界的URI.”(RFC2616); “本规范不限制资源的范围.”(RFC3986); *建议所有HTTP发送器和接收方至少支持8000位字节的请求行长度。(RFC7230)

查询和片段

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

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

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10552665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档