Re: Gen-ART LC review of draft-dusseault-http-patch-15.txt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I agree with John on this one.

We do not need to provide the mechanism, we do need to provide the warning.


On Mon, Nov 16, 2009 at 10:24 AM, John C Klensin <john-ietf@xxxxxxx> wrote:
>
>
> --On Sunday, November 15, 2009 14:54 -0800 "Roy T. Fielding"
> <fielding@xxxxxxxx> wrote:
>
>> On Nov 15, 2009, at 12:03 PM, John C Klensin wrote:
>>...
>>> We should not be adopting a "patch" protocol that lacks both
>>> the tools for, or a serious discussion of, transactional
>>> integrity.
>>
>> John, HTTP is not SQL.  The transactional integrity is inside
>> the resource implementation.  The entire transaction consists
>> of a single request message and a single response message.
>> HTTP is responsible for the communication interface, not the
>> implementation of specific resources, and cannot proscribe a
>> specific transaction semantic because it is NOT WANTED by
>> many resources.
>
> Roy, I certainly agree with the first part of this.  HTTP is not
> SQL.  If it were, I (at least) would be loudly insisting on an
> integrity mechanism.  However, normal IETF practice includes
> being explicit about issues and traps with specifications.  So,
> while it is plausible to take the position you express above,
> that just about requires that the specification explicitly
> indicate that verifying transactional integrity is the
> responsibility of the calling application.  I'm also suggesting
> that it should at least point to ways to do that.   The
> paragraph in Security Considerations (Section 5) that reads:
>
>        "A document that is patched might be more likely to be
>        corrupted than a document that is overridden in
>        entirety, but that concern can be addressed through the
>        use of mechanisms such as conditional requests using
>        ETags and the If-Match request header."
>
> is not, IMO, adequate in that regard, at least absent a
> normative reference.  It is also the key to the issue as I see
> it: while POST can be used to simulate PATCH, the normal and
> obvious use of POST is to supply some information to the server
> or to replace ("override") an entire document, PATCH would seem
> to have, well, patching as its primary purpose.
>
>> For example, a collaborative whiteboard in which many people
>> are patching at once, the patches consisting of context diffs
>> that are internally capable of distinguishing conflicts, would
>> be impossible to implement via standard etag behavior.
>
> Sure.  So say that in the document.   My problem is _not_ with
> the mechanism, it is with what you apparently assume people will
> figure out for themselves or learn through oral tradition.
>
>> Standard etag conflict resolution is not required because
>> it is not desirable for many applications of PATCH.  For
>> other applications of PATCH, it is already defined by HTTP
>> and does not need to be reiterated here.
>
> We disagree.  I believe it does "need to be reiterated here",
> either in-line or by an explicit, normative, pointer to the
> relevant portion of the HTTP spec.
>
>    john
>
> _______________________________________________
> Ietf mailing list
> Ietf@xxxxxxxx
> https://www.ietf.org/mailman/listinfo/ietf
>



-- 
-- 
New Website: http://hallambaker.com/
View Quantum of Stupid podcasts, Tuesday and Thursday each week,
http://quantumofstupid.com/
_______________________________________________
Ietf mailing list
Ietf@xxxxxxxx
https://www.ietf.org/mailman/listinfo/ietf


[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Fedora Users]