RFC2732规范中URL中的文本IPv6地址的格式,
截取其中重要部分原文如下:
RFC 2732 Format for Literal IPv6 Addresses in URL's
December 1999
Abstract
This document defines the format for literal IPv6 Addresses in URL's
for implementation in World Wide Web browsers. This format has been
implemented in the IPv6 versions of several widely deployed browsers
including Microsoft Internet Explorer, Mozilla, and Lynx. It is also
intended to be used in the IPv6 version of the service location
protocol.
This document incudes an update to the generic syntax for Uniform
Resource Identifiers defined in RFC 2396 [URL]. It defines a syntax
for IPv6 addresses and allows the use of "[" and "]" within a URI
explicitly for this reserved purpose.
1.Introduction
The textual representation defined for literal IPv6 addresses in
[ARCH] is not directly compatible with URL's. Both use ":" and "."
characters as delimiters. This document defines the format for
literal IPv6 Addresses in URL's for implementation in World Wide Web
browsers. The goal is to have a format that allows easy "cut" and
"paste" operations with a minimum of editing of the literal address.
The format defined in this document has been implemented in the IPv6
versions of several widely deployed browsers including Microsoft
Internet Explorer, Mozilla, and Lynx. It is also intended to be used
in the IPv6 version of the service location protocol.
1.1.Requirements
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, if and where they appear
in this document, are to be interpreted as described in [KEYWORDS].
World Wide Web browsers SHOULD implement the format of IPv6 literals
in URL's defined in this document. Other types of applications and
protocols that use URL's MAY use this format.
2.Literal IPv6 Address Format in URL's Syntax
To use a literal IPv6 address in a URL, the literal address should be
enclosed in "[" and "]" characters. For example the following
literal IPv6 addresses:
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
would be represented as in the following example URLs:
http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html
http://[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.Changes to RFC 2396
This document updates the generic syntax for Uniform Resource
Identifiers defined in RFC 2396 [URL]. It defines a syntax for IPv6
addresses and allows the use of "[" and "]" within a URI explicitly
for this reserved purpose.
The following changes to the syntax in RFC 2396 are made:
(1) change the 'host' non-terminal to add an IPv6 option:
host = hostname | IPv4address | IPv6reference
ipv6reference = "[" IPv6address "]"
where IPv6address is defined as in RFC2373 [ARCH].
(2) Replace the definition of 'IPv4address' with that of RFC 2373, as
it correctly defines an IPv4address as consisting of at most three
decimal digits per segment.
(3) Add "[" and "]" to the set of 'reserved' characters:
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
"$" | "," | "[" | "]"
and remove them from the 'unwise' set:
unwise = "{" | "}" | "|" | "\" | "^" | "`"
4.Security Considerations
The use of this approach to represent literal IPv6 addresses in URL's
does not introduce any known new security concerns.
顺便说下,里面的英文还是比较简单的,别怕还有在线翻译工具呢~
网友评论