I've been reading this blog over at sitepoint about
Who Gets Rest by PHP heavy Harry Fuecks. It is a fairly link-heavy top level view of what REST is.
Its nice to see more the PHP guys get into REST, as far as PHP guys go, Harry is pretty
Heavy. What harry has to say about URI naming schemes (especially in the comment section) really helped to gel a very important part of REST for me:
...another consequence [of removing verbs from the URI] is separating "tools" for working with "resources" from the resources themselves. That might mean to edit a blog entry you might have a URL like http://www.example.com/backend/editor which displays the form you need and POSTs to the resource (URL) to update it.
This really nails the whole "Hypermedia as application state" concept home for me. The GET request to /backend/editor returns a resource representation that can be used to make a POST request to /example.com/entry (or even a PUT request to /example.com/title-of-my-entry-here). The (machine or human) agent travels through the application like pseudo-medieval adventurers through a dungeon; the agent can go backward and forward through the application as they desire.
I'll get into this state-machine-design of a web application in a later entry.