REST: they just don't get it

2008-08-15 @ 02:38#

i read REST, I just don't get it today and just had to hang my head.

there is so much of REST that folks don't get. but saying:

...just use a POST as an RPC call, keep it as simple as possible and be done with it. And don't spend another minute worrying about being RESTful or not.

is just wrong.

while i see lots of 'hey, you put a VERB in the URL!' or 'You're lame if you don't use PUT' kinda talk, i don't see folks talking about some of the most important concepts outlined in Fielding's 1999 dissertation, Architectural Styles and the Design of Network-based Software Architectures - the document that described for the first time (in Chapter 5) what REpresentational State Transfer was about. check the year - 1999. actually, first drafts of the REST model were written as early as 1994! Fielding was part of the team that outlined the massively scalable distributed-networking protocol known to us as HTTP. Fielding was there on the ground floor. his REST model, even almost a decade after it's official release, stands as one of the best attempts to codify some of the key architectural patterns that went into designing HTTP.

and there are several

and add to the above vital system-wide constraints these additional patterns so common today we hardly give them much thought:

that's quite a bit of work. quite a bit of *important* work. important work that, even after a decade (almost a century in 'Internet years') continue to thrive, grow, change, and adapt to include new media types, new authentication schemes, and more.

finally, you should note that this rant does not address the 'REST means you *MUST* use PUT and DELETE methods' or 'REST means you can't use a *VERB* in the URI' assertions. that stuff just misses the point. REST is much more than rules about URLs and HTTP method calls.

and that, apparently, is what most people "Just Don't Get."

code