Re: Binding loops and PROPFIND clarification needed (was Re: COPY and bindings)

Julian Reschke wrote:

>Chris,
>
>you are right that this probably should be explained a bit better.
>  
>
First/easiest thing would be to change the example to have the 506 
followed by a 200. (The example implied to me that processing stopped at 
the first 506.)

>My p.o.v. (which seems to be compatible with the example) is that the 506
>should be reported once the depth:infinity processing encounters a resource
>that already has been traversed/reported. So, in your example, you'd report
>a 506 for "/A/B/C" -- note that you can't report the same resource twice.
>
>It's also correct that this means that a client that wants to replicate
>bindings will need an additional PROPFIND against "/A/B/C" to get the
>DAV:resource-id.
>  
>
Fair enough. In environments where the may be many many loops, following 
up with multiple PROPFIND requests might be time consuming. Is it 
expected that Delta-V environments (particularly with some of the 
advanced features) might have (many) loops? (Elias implied that bindings 
are prettymuch necessary and I think I remember him saying that loops 
are necessary as well.)

>However, this *only* applies to depth:infinity processing, which is sort of
>deprecated anyway (meaning servers are allowed to reject these requests, and
>I think moddav does this by default).
>  
>
Yes, mod_dav does reject Depth: infinity propfinds by default. I am 
working on a server that has a client that very much prefers to use 
Depth: infinity but perhaps I'll just respond with the first case (a 506 
response) and make him do Depth: 1 whenever there're loops.

>So my understanding is that a "modern" client would only do depth:1
>PROPFINDs, and thus never see a 506.
>
:^> Being a server developer, I would love to see Depth: infinity 
disappear...But I'm sure client developers would say the opposite.

Received on Friday, 11 July 2003 18:05:29 UTC