[10177] in www-talk@info.cern.ch
URL parsing and IPv6 addresses
daemon@ATHENA.MIT.EDU (Kim)
Mon Aug 5 23:26:05 1996
From: Kim <bookwyrm@agii.solluna.org>
To: www-talk@w3.org
Date: Mon, 5 Aug 1996 23:26:55 -0400 (EDT)
Resent-From: www-talk@w3.org
Greetings,
In the course of adding some experimental IPv6 support to my system,
include the WWW software on my system, I ran across an issue in parsing
IPv6 addresses and URLs, and am looking for documents, if existing, to
resolve the issue.
The issue being in short that in a reference to a HTTP server running
on port 8080, one might use "http://www.solluna.org:8080/" or
"http://131.247.108.14:8080/" The colon being used to separate the port
number from the address. However, from RFC 1884 describing IPv6 addresses,
IPv6 addresses such as, quote:
> 1080:0:0:0:8:800:200C:417A a unicast address
> FF01:0:0:0:0:0:0:43 a multicast address
> 0:0:0:0:0:0:0:1 the loopback address
> 0:0:0:0:0:0:0:0 the unspecified addresses
>
> may be represented as:
>
> 1080::8:800:200C:417A a unicast address
> FF01::43 a multicast address
> ::1 the loopback address
> :: the unspecified addresses
This brings about the ambiguity that a reference to
"http://::83F7:6C0E:8080/" does not seem to be immediately clear as to if
it refers to port 8080 on the server reachable at IPv6 address ::83F7:6C0E,
or if it refers to a default port at ::83F7:6C0E:8080.
Technically, for ::83F7:6C0E:8080 at least, I believe it falls into a
reserved address range and might be deduced from that. Addresses such as
1000:5::AB:1234:8080 become much more ambiguous, I think.
If there is a document addressing this issue, I would be most grateful
for a reference to it, but I have been unable to find references so far.
My initial inclination is to use a second '::' to indicate the port, as
in "http://::83F7:6C0E::8080/" This appears to be unambiguous except
a case where there is only one '::' sequence, and it appears at the end,
as in "83F7:6C0E::8080" - my inclination is to represent this as
"83F7:6C0E:::8080" or "83F7:6C0E::::8080". However, if this problem has
already been addressed, then I just wish pointers to the approved
representation that I might write code to it.
Thank you,
Kim