通过主机名浏览 ipv6 主机,而不是 ipv6 地址

通过主机名浏览 ipv6 主机,而不是 ipv6 地址

是否可以通过主机名浏览 ipv6 地址?因此,http://[2001:888:0:18::80]去喜欢http://[www.xs4all.nl]。我知道这不起作用,但为什么会这样?要明确的是,这不是一个关于名称解析的问题。

答案1

[ ]并不意味着“启用 IPv6”。括号不是 URL 中的独立语法元素 - 它们仅定义为部分IPv6 地址,否则没有任何意义。

RFC 3986 第 3.2.2 节

host       = IP-literal / IPv4address / reg-name
IP-literal = "[" ( IPv6address / IPvFuture  ) "]"
IPvFuture  = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )

根据此语法,当 host 以 开头时,[后面必须跟 IPv6 地址,或者指示v某个未来的 IP 版本。当您的浏览器找到其他文本(例如域名)时,它不符合任何指定的选项,并且整个 URL 会被拒绝,被视为无效。

相关内容