W3C home > Mailing lists > Public > w3c-dist-auth@w3.org > October to December 2000

Re: [RFC2518 Issue] PROPFIND 'allprop' usage

From: Greg Stein <gstein@lyra.org>
Date: Sun, 26 Nov 2000 18:09:57 -0800
To: w3c-dist-auth@w3.org
Message-ID: <20001126180957.O21426@lyra.org>
On Sun, Nov 26, 2000 at 08:34:45PM -0500, Geoffrey M. Clemm wrote:
> I heartily support the removal of allprop from the protocol.
> If client writers start now to replace their use of allprop-PROPFIND
> with a propname-PROPFIND/PROPFIND pair, they have plenty of time
> to be in compliance with a revision of 2518 that does not support
> allprop.

I vehemently agree. :-)

I also support limitations on Depth:infinity requests (as if you couldn't
guess :-).

[ mod_dav (by default) just tosses them, responding with 403 (Forbidden);
  since that is a legal return for a PROPFIND, it seemed to make sense in my
  situation (and clients would have to deal with it anyways). ]

Returning 507 would be a bit more difficult implementation-wise. However, I
think we really shouldn't allow that mechanism. What is a client to do when
it gets a 507? How does it know *what* was left out, and *how* to get those
results? Did the server do a depth-first or a breadth-first response of
properties? Which collections did it recurse into and which did it not? Did
it stop *partway* through a collection? How can a client tell?

With all of those problems, a client has to be *extremely* smart to recover.
It would have to sort through the returned hrefs, analyze the structure, and
try to determine where the server left off.

Pathological case: let's say that I implemented the server with a database
mapping URLs to property sets. I have a spiffy query that returns all rows
that start with a particular URL base. For performance purposes, I *do* not
sort the response, and the database does not guarantee one. Oh oh... what
now? I've got responses in a scatter plot all over the URL namespace.

One alternative would be for the server to "prune" responses and mark these
prunings in the response. The client could then know exactly what is missing
("<this> resource" or "<that> collection"). This mechanism would also be
nice for a "propname" or a "prop" style of PROPFIND with Depth:infinity. I
could easily see a server wanting to prune those, too.

Personally, I say put the 507 and specifically allow 403 responses.

[ I wouldn't mind if Depth:infinity was tossed altogether, but that is too
  extreme, and that depth is *very* handy for debugging :-) ]


Greg Stein, http://www.lyra.org/
Received on Sunday, 26 November 2000 21:08:07 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:01:22 UTC