http://www.subdomain.domainname.abc.xyz.com.us/directory/filename.extension
- 每个部分的名称是什么?
- 每个部分的最大长度是多少?例如子域名、域名、顶级域名等。
子域名的维基百科条目回答了以下两个问题:
子域名是较大域名的一部分;唯一不是子域名的域名是根域名(root domain)。例如,
west.example.com
和east.example.com
是example.com
域名的子域名,而后者又是com顶级域名(top-level domain)的子域名。"子域名"表达的是相对依赖性,而不是绝对依赖性:例如,wikipedia.org
包含于org
域,而en.wikipedia.org
则包含于wikipedia.org
域。
理论上,这种细分可以深达127层,每个DNS标签可以包含最多63个字符,只要整个域名不超过255个字符的总长度即可。但在实践中,大多数域名注册机构将限制其长度不超过253个字符。
给定 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)
63
个字符。253
个字符。2,000
个字符。现在,让我们为您给出的URL的另一种版本http://www.subdomain.domainname.com/directory/filename.extension?name=ferret#nose
进行分解:
http://
: 方案或协议。
prospero
,8
个字符。 然而! 你可以制作自己的协议,并使其任何合理长度,但我可能不会超过255
个字符。例如,在Chrome中使用file:/
将显示文件,在Linux中使用samba:/
将启动Samba应用程序并访问资源等等。www
,subdomain
: www
只是今天多余的流行子域名。
63
个字符。domainname.com
: 你的"域名",不是任何级别的域名,而是完整的域名。
域名或数字的最大总长度为255个字符。(RFC2821, RFC5321)
[电子邮件地址格式为]
<mailbox> ::= <local-part> "@" <domain>
(RFC821)
domainname
: 你的二级域名。
com
: 你的顶级域名(TLD)。这也可能包含一个点,比如co.uk
。
directory/filename.extension
: 这是你的路径。
"服务器必须能够处理它们提供的任何资源的URI,并应该能够处理无限长度的URIs..." (RFC2616);
"本规范不限制可能是资源的范围..." (RFC3986);
*"建议所有HTTP发送方和接收方至少支持8000个八位组的请求行长度." (RFC7230)
name=ferret
:这是一个GET
参数,格式为field=value
。#nose
:这是片段,可以使用HTML中的<a name="nose" />
来将页面定位到特定部分。
2,000
个字符。
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
例如:
http://www.mywebsite.com
从右向左解释会更容易理解:
为了让事情变得更加混乱,许多顶级域名实际上是两个域名,例如 .co.uk
因此,另一个例子可能是:
https://aaa.bbb.ccc.mywebsite.co.uk
在顶级域名后面但文件名之前的任何内容都被称为路径,例如:
https://www.mywebsite.com/this/is/a/path/to/resource/filename.txt