我已經對正確的主機名語法進行了一些閱讀,但無法確定什麼是真正正確的主機名/ URL語法 請問下列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
這些只是一些例子,我無法弄清楚。 這些網址是否正確?
我已經對正確的主機名語法進行了一些閱讀,但無法確定什麼是真正正確的主機名/ URL語法 請問下列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
這些只是一些例子,我無法弄清楚。 這些網址是否正確?
這些不是網址,因爲它們缺少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定義了host subcomponent所有URI的語法(和RFC 2616的HTTP(S)的URI遵循)。
你的例子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-literal
遵循定義的語法(在上面鏈接的部分),IPv4address
,或者reg-name
:
檢查IP-literal
:
由於IP-literal
要求包圍方括號( [
... ]
),none都不是IP-literal
主機名。
檢查IPv4address
:
作爲IPv4address
必須包含正好是三個.
字符,1.2.3.4.5.6.7
,1.2.3.4.5.6.7.com
和some.host.name.com.org
不能IPv4address
主機名。
雖然10.123.143.13333
有三個.
,「13333」不是有效的dec-octet
,所以它不是IPv4address
。
檢查reg-name
:
您所有的例子都是有效的reg-name
主機名,如0-9
,a-z
和.
被允許的字符。
請注意,這是而不是這意味着這些是DNS中的有效域名。 RFC 3986「不要求特定的註冊名稱查找技術」。