Bodies of redirect reference resources

I am trying to understand the redirectref-02 spec, and feel I've missed
something fundamental. It starts with:

   "A redirect reference resource is a resource in one collection whose
   purpose is to forward requests to another resource"

This makes sense to me; we have a special type of resource, which, when we
try and do things to it, it will respond with "No, go away and do it to
this other resource instead". Enough said.

Then it says this:

   "A redirect reference is a resource, and so can have properties and a
   body of its own."

Okay, a resource can have properties defined on it; this is WebDAV. But,
"a body of its own". What does that mean? Have resources become confused
with HTTP messages?

On to section 6:

   "A redirect reference resource MAY have a body, though
   none is defined for it in this specification.  The PUT method can be
   used, with Apply-To-Redirect-Ref, to create or replace the body of a
   redirect reference resource.".

So, if we have a redirect reference resource at URI X, when we try and
access it as any normal resource, it tells us to go to URI Y instead. But,
we can also, using a PUT with the Apply-To-RR header, submit an
entity-body, have it stored at this URI, then fetch it again later with a
GET and the same header. So, there are actually *two* separate resources
identified by URI X; the special RR resource, and the extra one we
submitted with the PUT. Except that these two resources share the same
URI, and the same DAV properties. Is this really the intent of the
authors? Is there a need to store an extra resource along with every RR
resource?

Now sec 6.2, with an example of a PUT to a RR resource with the
Apply-to-RR header: 

   "The result in this case is that the reference
   resource is replaced by a non-reference resource having the content
   submitted with the request." 

This seems to imply that in a PUT to an RR resource, the RR resource is
removed, and another one replaces it, losing the "302" stuff, and
contradicting the above semantics? Maybe this was supposed to say "the
body of the reference resource is ..."?

To me, a PUT or a GET to a RR resource, *with* the Apply-to-RR header,
should fail, since this is a special resource, with special semantics, in
the same way that a collection resource is. A 4xx response will do fine in
this case.

Regards,

joe

Received on Thursday, 27 January 2000 14:39:28 UTC