Don's definitions can probably be altered a little to become
Lo-Rest, which is the use of HTTP GET (or equiv) for information retrieval/query and POST for everything else, and Hi-Rest, which is characterized by the use of distinct HTTP methods to perform distinct operations on resources, for example using HTTP PUT and DELETE (or equiv) for doing update.
This definition draws a distinction between REST as it is practiced on the Web today (i.e. Lo-REST) and REST as it should be practiced on the Web today (i.e. Hi-REST).
A couple of other folks also disagreed with Don's definitions. They include Jonnay in his post Hi-Rest and Lo-Rest, two broken halves of the tower of Babylon and Dimitri Glazkov Lo-REST: This is your REST on Crack who both argue that Lo-REST does not satisfy the REST architectural style. I agree with them, however I also think that it is fair to draw a distinction between what actually exists on the Web today and what should exist on the Web.
Phil:Lo-REST can usefully describe what services that are labelled as REST, but are really not. Rather, these services are actually POX based services.
Even so, attaching the term REST to a POX service is problematic in two key ways (if not more). First, it dilutes and obscures what REST is, which not only gets the RESTafarians all up in a tizzy, but also can make the conversation around this topic more difficult. Second, it seems to undercut the significance and usefulness of POX by implicitely indicating that POX needs to be attached to the term REST in order to be taken seriously.
Ideally, we should take a step back and realize that significant web services are being written and will continue to be developed using POX. Let’s elevate the respectability of the term POX a bit and retire the term Lo-REST. It is POX, let's leave it at that and call it what it is.
Emphasis mine.Ideally, two things would happen in this debate:
- We'd agree that the term REST has a specific meaning, as laid out by Fielding. This is mainly just to define terms so we all know what we're discussing.
- We'd agree that there are very few examples of (1) actually being implemented in the real world today outside of the presentation layer. Thus, when we're talking about the web-in-practice we're talking about something different from REST-a-la-Fielding.
Next step: define POX.
