Re: FYI: I-D ACTION:draft-dusseault-http-patch-02.txt

>
> What is important for interoperability is that the server can indicate
> to the client when an unexpected condition isn't met -- that way, the
> standard doesn't have to define which condition is right for all
> applications.  So, I would write that PATCH on an unbound URI may,
> at the server's discretion, either result in an empty representation
> being created prior to application of the patch or an error code from
> the server indicating that the method is not allowed on an unbound URI.
>

I find that client implementations generally act in ways that they find 
the server can be predictable.  With what you describe, a client 
implementor can write this code

   Try PATCH on known empty resource
     trap error {
      send PUT
    }

Or:

   Send PUT on known empty resource

Gee, which is simpler... I've seen clients go through huge numbers of 
extra requests on all servers they talked to, because of some server 
that couldn't handle the more efficient case.  IOW, clients care more 
about limiting the branches in their code (maintainability) than 
performance, in many cases.

So the predictable thing for PATCH would be to either to have 
consistent and predictable behavior for the method with all patch 
types, OR at least to have consistent and predictable behavior for a 
given patch type.

Lisa

Received on Friday, 9 July 2004 15:54:05 UTC