主机名和URL语法

时间:2015-04-06 08:22:41

标签: url ip uri hostname

我已经对正确的主机名语法做了一些阅读,但无法弄清楚什么是真正合适的主机名/ URL语法 如果以下URL在语法上是正确的,请告诉我吗?

1.2.3.4.5.6.7/something
10.123.143.13333/something
1.2.3.4.5.6.7.com/something
some.host.name.com.org/something

这些只是我无法弄清楚的一些例子。 这些网址是否正确?

1 个答案:

答案 0 :(得分:0)

这些不是网址,因为它们缺少scheme

假设您指的是HTTP URL,它们将是:

http://1.2.3.4.5.6.7/something
http://10.123.143.13333/something
http://1.2.3.4.5.6.7.com/something
http://some.host.name.com.org/something

RFC 3986定义了所有URI的host subcomponent语法(HTTP(S)URI的RFC 2616如下)。

示例URI的主机名为:

1.2.3.4.5.6.7
10.123.143.13333
1.2.3.4.5.6.7.com
some.host.name.com.org

有效主机名遵循IP-literalIPv4addressreg-name定义的语法(在上面链接的部分中):

  1. 检查IP-literal

    由于IP-literal需要括号方括号([ ... ]),所以没有IP-literal个主机名。

  2. 检查IPv4address

    由于IPv4address必须包含三个.个字符,1.2.3.4.5.6.71.2.3.4.5.6.7.comsome.host.name.com.org不能是IPv4address个主机名。

    虽然10.123.143.13333有三个.,但“13333”不是有效dec-octet,因此它不是IPv4address

  3. 检查reg-name

    您的所有示例都是有效的reg-name主机名,因为0-9a-z.是允许的字符。

    请注意,表示这些是DNS中的有效域名。 RFC 3986“并未强制要求使用特定的注册名称查找技术”。