On Tue, Sep 3, 2013 at 10:30 AM, Henry Story <henry.story@bblfish.net>wrote:
> Mostly agree on all below. Just a couple of points as I was reading it.
>
> > 4.5.6. You allow servers which do not support PUT or PATCH or POST.
> Why? A client using such a server will have no write ability at all,
> and so your spec as a protocol delivers zero value on top of HTTP GET.
> Suggest change all to MUST, or make two levels of server, one which
> supports PUT and PATCH and no collections, and one which supports
> everything.
>
> Would that PUT be useable for creation of resources?
> I'd rather have collections, than PUTs that create resources.
LD clients have been creating with both POSTs and PUTs for a long time. PUT
means overwrite, POST means append, right? Creation has to be done before
most of other LDP functionality can be leveraged. Why not make it as easy
and interoperable as possible?
> > 4.5.6 MUST allow PUT. Otherwise, what is the point?
>
> I think PUT is just an expensive PATCH. I suppose HTTP does force us to
> accept PUT as a way to
> create a resource. The problem with PUT for creation is that one does not
> know if one is not
> overwriting a resource that allready exists. ( see point you made above on
> If-match - do we need
> an If-Not-Exists? )
No additional headers are needed for this functionality. I believe the
correct existing convention for this is:
If-None-Match: *