- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Sat, 18 May 2013 18:36:15 +0100
- To: "Wilde, Erik" <Erik.Wilde@emc.com>
- Cc: Henry Story <henry.story@bblfish.net>, Arnaud Le Hors <lehors@us.ibm.com>, "public-ldp-wg@w3.org" <public-ldp-wg@w3.org>
On 18 May 2013, at 18:28, "Wilde, Erik" <Erik.Wilde@emc.com> wrote: > hello richard. > > On 2013-05-18 10:06 , "Richard Cyganiak" <richard@cyganiak.de> wrote: >> No, the reason was that POST is HTTP's catch-all extension point for >> "other" operations, and it would be bad to "use up" that extension point >> on all LDP-managed resources. LDP implementers should have the liberty of >> using POST to an LDPR for other things beside append. > > my favorite topic! i have used up all HTTP methods, now what? ;-) sorry, > but i really cannot resist... > > you cannot "use up" all HTTP methods. you model all the interactions with > your resources as self-describing interactions. for each of those > interactions, you look at whether they are safe and idempotent and pick > GET if they are, they delete things and pick DELETE if they do, they are > idempotent but not safe and pick PUT, and otherwise you pick POST. Except you can't use POST because your web framework supports LDP, and in LDP a POST to any resource means "append triples to this resource" (if we go with Henry's plan). I don't want to restrict the use of POST to only this one purpose in LDPRs. Richard > the > fact that early writings about HTTP/REST hardcoded the operation > names/semantics is more historical at this point, and REST has moved on to > focus on the *interaction semantics* when picking a method, because that's > what matters when it comes to handling the HTTP methods in the web's > fabric. > > long story short: don't worry, you can never "use up" all HTTP methods. > when you use POST to append, that's fine and just make sure it's > self-describing. when you add other interactions that also use POST, > there's no conflict because these interactions should be self-describing > as well. > > in a nutshell, it's the same as having various "submit" buttons on an HTML > form: they all go to the same form/@action URI, but since you're pressing > a different button, your interacting with the resource in a different way. > > cheers, > > dret. >
Received on Saturday, 18 May 2013 17:36:42 UTC