INTERNET-DRAFT L. Masinter, J. Gettys, B. Carpenter draft-masinter-url-ipv6-00 Expires six months after publication date March 12, 1998 Using IPv6 Addresses in URLs Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Copyright Notice Copyright (C) The Internet Society (1997). All Rights Reserved. Abstract The normal textual representation for IPv6 addresses as a set of colon-separated hexadecimal numbers does not work well with most deployed URL-parsing software. This document describes an alternate format which will pass unharmed through most URL-parsing software. 1. Introduction The normal textual representation for IPv6 addresses as a set of colon-separated hexadecimal numbers does not work well with most deployed URL-parsing software. This document describes an alternate format which will pass unharmed through most URL-parsing software. 2. Background The standard representation for IPv6 addresses in text [IPV6ADDR] uses embedded colons ":"; in addition, it has been suggested that square brackets "" be used isolate the address from any additional text. Thus, an IPv6 address might be written "[ABCD:EF01::2345:10.9.8.7]". Unfortunately, using this IPv6 syntax within URLs [URISYNTAX] would be disruptive of many applications. The colon is used normally to separate the host name or address from an (optional) port number; in some addresses, a colon followed by a decimal number could ambiguously be interpreted as a port designator or part of the IPv6 address. Square brackets are not normally allowed in URLs, and may be used as a delimiter around the entire URL. Even if there were no ambiguity, this syntax is incompatible with a very large number of deployed applications that parse (but do not resolve) URLs, including many CGI scripts, robots, search engines, and so forth. In addition, common operating system scripting languages have a special interpretation for square brackets. While it is believed that the use of IPv6 addresses instead of host names will be much rarer than the use of IPv4 addresses, the use is envisioned in emergency situations, e.g., when the domain name system is not functioning: having the syntax be incompatible with operating system command syntax would deny access to network operators just in times when it is needed the most. One of the most important characteristics of Uniform Resource Locators is that they are Uniform: the same syntax is used by all applications. Having different representations for different applications would be confusing and counter-productive. 3. Syntax The safest way to embed IPv6 addresses in URLs is to use a syntax which will look like a domain name to otherwise unaware software. The syntax is best described as a transformation of the normal IPv6 syntax: a) replace every colon ":" with a "-" b) append ".ipv6" to the end. Thus, an HTTP service available at port 70 of IPv6 address "ABCD:EF01::2345:10.9.8.7" could be written as http://ABCD-EF01--2345-10.9.8.7.ipv6:70/ This syntax should always be used. Internet software that resolves host names and addresses in URLs should be modified to recognize the "ipv6" pseudo-domain. 4. IANA considerations The Internet Assigned Names Authority is requested to reserve the "ipv6" pseudo-domain for the purpose outlined in this memo. 5. References [URISYNTAX] R. Fielding, L. Masinter, T. Berners-Lee, "Uniform Resource Identifiers: Generic Syntax", draft-fielding-uri-syntax-02.txt, March, 1998. [IPV6ADDR] R. Hinden, S. Deering. "IP Version 6 Addressing Architecture", draft-ietf-ipngwg-addr-arch-v2-06.txt, January, 1998. 6. Authors' Addresses Larry Masinter Xerox Palo Alto Research Center 3333 Coyote Hill Road Palo Alto, CA 94034, USA Fax: +1 650 812 4365 EMail: firstname.lastname@example.org James Gettys MIT Laboratory for Computer Science 545 Technology Square Cambridge, MA 02139, USA Fax: +1 617 258 8682 Email: email@example.com Brian Carpenter IBM United Kingdom Laboratories MP 185, Hursley Park Winchester, Hampshire SO21 2JN, UK Email: firstname.lastname@example.org 7. Full Copyright Statement Copyright (C) The Internet Society (1997). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.