Subject: RE: IPv6 support in WebDAV and HTTP

From: "Lisa Dusseault" <[email-masked]>
Date: Tue, 20 Aug 2002 18:40:05 -0400

RFC2616 says: "http_URL = "http:" "//" host [ ":" port ] [ abs_path [
"?" query ]]"

I can't find a definition of the host part.  It does however say "The
use of IP addresses in URLs SHOULD be avoided whenever possible (see RFC
1900 [24])."

So: 
 - Does the wording in RFC2616 require support for IPv6 for HTTP
servers? Or does it merely skirt the issue?
 - Does anybody have any idea how HTTP servers and clients handle IPv6
addresses in practice?

I assume RFC2518bis should update its references to RFC2396 to RFC2616,
which results in removing the restriction to IPv4 addresses only.

Lisa

> -----Original Message-----
> From: Roy T. Fielding [mailto:[email-masked]]
> Sent: Tuesday, August 20, 2002 3:09 PM
> To: Lisa Dusseault
> Cc: [email-masked]
> Subject: Re: IPv6 support in WebDAV and HTTP
> 
> > WebDAV (RFC2518) imports its URL scheme definition from HTTP 1.1
> > (RFC2396).  HTTP says:
> >
> >    "The host is a domain name of a network host, or its IPv4 address
as
> > a
> >    set of four decimal digit groups separated by ".".  Literal IPv6
> >    addresses are not supported."
> >
> >       hostport      = host [ ":" port ]
> >       host          = hostname | IPv4address
> >
> > Does that mean that WebDAV *cannot* support IPv6 addresses?  Until I
> > started looking into this, I naively assumed that WebDAV already did
> > support IPv6 addresses, or could easily.
> 
> If WebDAV imports by reference (not cut-n-paste), then its reference
> is updated by the RFCs that update 2396, one of which defines the
> literal IPv6 address.
> 
> ....Roy

---

From: "Roy T. Fielding" <[email-masked]>
Date: Tue, 20 Aug 2002 16:00:15 -0700

> use of IP addresses in URLs SHOULD be avoided whenever possible (see RFC

It doesn't say anything about it.

>  - Does anybody have any idea how HTTP servers and clients handle IPv6

Origin servers don't see them in practice.  I think we enabled IPv6 
literals
for Apache httpd's mod_proxy in 2.0, but I haven't verified.  I don't
know about clients -- check the Mozilla port to IPv6.

> which results in removing the restriction to IPv4 addresses only.

2616 defines the http URI scheme (poorly).  2396 defines all URI.
You will need both references.

....Roy

---

From: Daniel Stone <[email-masked]>
Date: Wed, 21 Aug 2002 09:24:47 +1000

> > > [...]

It only says "literal IPv6 addresses are not supported". In no way does
it say, "a name which only has an AAAA/A6 record is invalid". If you
*do* want to do literal IPv6 addresses, the accepted form is
[host]:port, e.g:
[3ffe:8001:c:1001::c0ff:ee]:80 for my home machine. I'm running IPv6
servers and clients with absolutely no issues.

HTH,
:) d 

-- 
Daniel Stone	   <[email-masked]>   http://raging.dropbear.id.au
KDE Developer	   <[email-masked]>	                      http://www.kde.org
Kopete: Multi-protocol IM client	    		   http://kopete.kde.org

---

From: Joe Orton <[email-masked]>
Date: Wed, 21 Aug 2002 00:39:02 +0100

On Tue, Aug 20, 2002 at 04:00:15PM -0700, Roy Fielding wrote:
> Origin servers don't see them in practice.

Host headers may contain IPv6 addresses though, clients will send these
(at least Mozilla will).

>  I think we enabled IPv6 

It looks like the URI parser in 2.0 doesn't know about the IPv6 address
syntax from RFC2372... a request like this fails with a 400 error:

MOVE /dav/a HTTP/1.1
Host: [feed::1]:8080
Destination: http://[feed::1]:8080/dav/b

Regards,

joe