在这个网址中:
http://www.subdomain.domainname.abc.xyz.com.us/directory/filename.extension
- 每个部分的名称是什么?
- 每个部分的最大长度是多少?例如子域、域名、顶级域……</li>
要回答问题 1:
一个简单的 URI 看起来像:
http://www.mywebsite.com
从右到左更容易解释:
只是为了让事情变得更加混乱,许多顶级域实际上是 2 个域,例如 .co.uk
所以,另一个例子是:
https://aaa.bbb.ccc.mywebsite.co.uk
TLD 之后但文件名之前的任何内容都称为路径,例如:
https://www.mywebsite.com/this/is/a/path/to/resource/filename.txt
在上面的示例中,filename.txt 通常称为资源(尽管有些人会说整行都是资源,因为您并不总是有文件名)。
鉴于,根据RFC3986foo://example.com:8042/over/there?name=ferret#nose
(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
字符。例如,file:/
在 Chrome 中会显示文件,samba:/
在 Linux 中会启动 Samba 应用程序并访问资源等等。www
, subdomain
:www
只是一个流行的子域,今天是多余的。
63
字符domainname.com
:您的“域”,不是它的任何级别,而是完整的域。
域名或号码的最大总长度为 255 个字符。(RFC2821、RFC5321)
[电子邮件地址格式为]
<mailbox> ::= <local-part> "@" <domain>
(RFC821)
domainname
: 你的二级域名。
com
: 您的顶级域 (TLD)。这也可能包含一个句点,例如co.uk
.
directory/filename.extension
: 这是你的路。
“服务器必须能够处理它们所服务的任何资源的 URI,并且应该能够处理无限长度的 URI……”(RFC2616);
“本规范不限制资源的范围......”(RFC3986);
*“建议所有 HTTP 发送方和接收方至少支持 8000 个八位字节的请求行长度。” (RFC7230)
name=ferret
: 这是一个GET
参数,形式为field=value
。#nose
:这是片段,可用于使用 HTML 锚定到 HTML 文档的特定部分<a name="nose" />
。
2,000
字符。
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]