Re: DAV: header values

On Sat, 8 Apr 2000, Juergen Reuter wrote:
> Greg Stein wrote:
> > Hi all,
> >
> > In section 9.1 of RFC 2518, the spec states that 1#extend should be used
> > for adding tokens. Two problems:
> >
> > 1) the RFC doesn't have a "*" to indicate any number of extensions
> 
> The "1#element" rule in RFC 2068, section 2.1 indicates a list of at
> least 1 element, separated by one or more commas and with optional
> linear white space.

Oh, right.  *forehead slap*  Silly me :-)

> > 2) "extend" is never specified. Specifically, what is the set of valid
> >    characters?
> 
> See issue EXTEND_UNDEFINED on the WebDAV issues list at
> http://www.ics.uci.edu/pub/ietf/webdav/protocol/issues.html
> (BTW., Greg, I could not find any hyper link on www.webdav.org that
> points to this page.)

I've added this to the specs page. Thx for the idea!

And yes. I see that you found the problem already :-)

> Jim Whitehead proposed to define:
> > extend = token       ; token is defined in [HTTP].
> (see
> http://lists.w3.org/Archives/Public/w3c-dist-auth/1999OctDec/0199.html).
> 
> > I plan to have some mod_dav-specific properties, and I'd like to note
> > their existence in the DAV: field. The identifier could also be used by
> > clients to detect the mod_dav version to work around problems or whatever.
> > Anyhow... I want to return something like:
> >
> > DAV: 1,2,<http://apache.org/dav/1.0>
> >
> > Does anybody have an issue with defining "extend" to contain at least the
> > characters which are valid in a Coded-URL?
> 
> Section 2.2 of RFC 2068 defines:

>... [ defn of token ] ...

> Hence, the above would be illegal, as it contains "<", ">", ":" and "/".
> But one could propose to define (as I already did):
> 
> extend = token | quoted-string      ; token and quoted-string are
>                                       defined in [HTTP].
> 
> That would allow to put a URL into double-quotes.

Hrm. I don't like that idea. I'd much rather see it be a URI explicitly. A
quoted string doesn't help to prevent conflicts since you could simply
place anything in there (same with tokens). And if servers are to use that
field to express their own capabilities, then we should have a way to
prevent conflicts.

Specifically, I recommend:

   extend = absoluteURI

Further, each of the WebDAV extension specs should alter their use of the
DAV: header to use URIs for their items. For example: DAV:bindings or
DAV:redirectrefs.

Using "extend = Coded-URL" would also be fine, if people think the
brackets are needed. (although it doesn't have to be a URL...)

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Received on Monday, 10 April 2000 07:27:43 UTC