摘要

本文档定义了在WWW浏览器的URL中执行的文本IPv6地址的格式。在包括Microsoft的IE,Mozilla和Lynx等几个已经被广泛安装使用的浏览器的IPv6版本中,这种格式已经被使用。并且这种格式也将被应用于服务定位协议的IPv6版本中。
本文档包括了一个对在RFC2396[URL]被定义的统一资源标识符中的一般性语法的更新。为了这个预定目标,本文档明确定义了IPv6地址的语法规则并允许在统一资源标识符中使用“[”和“]”符号。

1.介绍

在[ARCH]中定义的文本IPv6地址的原文表述不能直接和URL的表述方法相适应。尽管两者都使用符号“:”和“.”作为分隔符。本文档定义了在WWW浏览器的URL中执行的文本IPv6地址的格式。其目的就是为了得到一种格式,能够很容易的使用剪切和粘贴操作以使文本地址编辑操作达到最少。
在包括Microsoft的IE,Mozilla和Lynx等几个已经被广泛安装使用的浏览器的IPv6版本中,这种格式已经被使用。并且这种格式也将被应用于服务定位协议的IPv6版本中。

1.1要求

如果本文档中任何地方出现关键词MUST,MUSTNOT,REQUIRED,SHALL,SHALLNOT,SHOULD,SHOULDNOT,RECOMMENDED,MAY,以及OPTIONAL,都将和它们在[KEYWORDS]中的定义一致。
WWW浏览器‘SHOULD’(应当)在URL中使用本文档定义的IPv6文本格式。其它一些使用URL的应用和协议‘MAY’(可以)用这种格式。

2.URL语法中的IPv6地址文本格式

为了在一个URL中使用一文本IPv6地址,文本地址应该用符号“[”和“]”来封闭。例如下列文本IPv6地址:

FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:4171
3ffe:2a00:100:7031::1
1080::8:800:200C:417A
::192.9.5.5
::FFFF:129.144.52.38
2010:836B:4179::836B:4179


就应该写做下列URL示例:
http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.htmlhttp://[1080:0:0:0:8:800:200C:417A]/index.html

http://[3ffe:2a00:100:7031::1]
http://[1080::8:800:200C:417A]/foo
http://[::192.9.5.5]/ipng
http://[::FFFF:129.144.52.38]:80/index.html
http://[2010:836B:4179::836B:4179]



3.对RFC2396的修改

本文档包括了一个对在RFC2396[URL]被定义的统一资源标识符中的一般性语法的更新。为了这个预定目标,本文档明确定义了IPv6地址的语法规则并允许在统一资源标识符中使用“[”和“]”符号。

对RFC2396中语法的一些改变如下:

(1)在‘主机(host)’末端增加一节IPv6项:
主机=主机名|IPv4地址|IPv6参考地址
ipv6参考地址="["IPv地址"]"
这里的IPv6地址和RFC2373[ARCH]中定义的一致。
(2)由于RFC2373中“IPv4地址”的定义更清晰的说明了IPv4地址是由每节最多三个
十进制数组成的,所以用这个定义来替换RFC2396中的定义。
(3)在’设定‘符号组中增加“[”和“]”:
设定(reserved)=";"|"/"|"?"|":"|"@"|"&"|"="|"+"|
"$"|","|"["|"]"
并且把它们从’非合理‘符号组中去掉:
非合理(unwise)="{"|"}"|"|"|"\"|"^"|"`"



4.安全考虑

这种在URL中使用文本IPv6地址的表述方法的应用不会引起任何新的已知安全问题。

5.IANA的考虑