Lisa Dusseault wrote:

>>> Can a client modify an entry to contain a link relation element in the
>>> following cases:
>>>
>>>  - To point to a resource on a different server entirely?
>>
>> There is no reason to believe that any of these resource are on
>> the same machine to begin with. I could POST to media to machine A
>> and have the MLE could be created on machine B and the editable media
>> resource itself created on machine C.
>
> This requirement has to be stated explicitly, at least as a SHOULD.

Hmm. One particular operation in the APP is defined as creating two resources; we specify how this is requested and the mechanism by which the server communicates the URIs that identify the newly-created resources. It would feel really weird to me to specify anything about what servers the resources might be on. That's not how URIs work or how the Web works. You can't tell by looking at a URI what server the resource is on, anyhow. The URI might not be an HTTP URI. Two URIs that look very much the same might reference data on different continents. That's the whole point of how URIs work.

Having said that, Lisa has already pointed out shortcomings in the number and placement of examples concerning this particular case. I think it'd be a good idea to have the example showing the Media resource showing up at http://media.example.com and the MLE showing up at http://app.example.com.

But I'd be very much against side-tripping the protocol definition into any discussion of "servers".

>>> Can a server ever ignore part of an edit and successfully process the rest?
>>>
>>
>> Yes. Think of a client that throws in a slew of random link elements with
>> relations my server implementation doesn't understand. Same with foreign
>> markup. The server is in charge.
>
> I completely disagree with this. It is way too unpredictable for clients to deal with.

Well, except there are several examples of APP clients that seem to do just fine.

Example: After extensive discussion, the WG achieved consensus that APP servers are *not* required to retain foreign markup.

Example: It is perfectly possible to imagine a server that morphs or prunes incoming entries for reasons of political censorship, security policies, markup standards, spelling-correction, automatic translation, or lots of other things we can't possibly imagine.

Example: my Ape protocol exerciser posts entries with a separate <content> and <summary> fields. At least one of the servers I've tested against accepts posts but discards my summary and generates its own, algorithmically.

The range of things a server can usefully choose to do currently exceeds our ability to specify or constrain. Fortunately, in HTTP, we have a protocol the semantics of whose state-changing verbs PUT and POST are remarkably well-matched for these interactions whereby a client says "please take this and publish it and tell me what you did" and the server says "OK, here's what I made of it."

The current WG consensus, way better than "rough", is that this level of interoperation is useful. That consensus seems to be supported by implementation experience.

Lisa, perhaps the problem is that I'm reacting to a fairly general statement of concern. Do you have some specific suggestions as to how server behavior could be limited or formally described?

 -Tim

Reply via email to