Network Working Group R. Hinden
Request for Comments: 2732 Nokia
Category: Standards Track B. Carpenter
IBM
L. Masinter
AT&T
December 1999
Format for Literal IPv6 Addresses in URL's
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.
Hinden, et al. Standards Track [Page 1]
RFC 2732 IPv6 Literal Addresses in URL's December 1999 1.1 RequirementsThe 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].
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:
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:
Hinden, et al. Standards Track [Page 2]
RFC 2732 IPv6 Literal Addresses in URL's December 1999
host = hostname | IPv4address | IPv6reference
ipv6reference = "[" IPv6address "]"
where IPv6address is defined as in RFC2373 [ARCH].
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.
5. IANA Considerations
None.
Hinden, et al. Standards Track [Page 3]
RFC 2732 IPv6 Literal Addresses in URL's December 1999 6. Authors' AddressesRobert M. Hinden Nokia 313 Fairchild Drive Mountain View, CA 94043 USA
7. References
[ARCH] Hinden, R. and S. Deering, "IP Version 6 Addressing
Hinden, et al. Standards Track [Page 4]
RFC 2732 IPv6 Literal Addresses in URL's December 1999 8. Full Copyright StatementCopyright (C) The Internet Society (1999). All Rights Reserved.