On 3/7/2006 5:05 PM, Mike Orr wrote: >On 3/7/06, David Bingerwrote: > > >>I had to search around a bit to come up with a guess >>as to what is meant by "restful URLs.", so I'll share, in >>case it saves someone else some trouble. >>I think it means URLs that include components that >>identify individual stored objects. >> >> > >Yes. It means that the record identifier comes before the action, >like in OO programming or a GUI menu. It also means that both are >encoded in the URL path rather than in query parameters, so that there >is a bookmarkable link to every record and every action. Examples: > >/article/1234/ # Default action is view. >/article/1234/?print=1 # Options are allowed. >/article/1234/edit # Another action. > > Although I'm in strongly favour of well-designed, readable URLs, the REST style as described by Fielding [1] does not demand such constraints. I'd rather deal with /article/1234/ than /docs/5ed754a9b20383ee71816bfa974a81ca [2] but as long at it refers to the 1234th article, and continues to refer to it (and to nothing else!) for as long as possible, then it conforms to REST principles. I know you didn't make up this definition of "restful URL", Mike, I'm just asserting that you can do REST with URLs that look like crap. Fielding's dissertation is just the starting-point for a larger community, and I think the readable-URL concept is one that fits naturally into that community's worldview. I'm being pedantic here just to point out that the REST style can apply to systems in which you might not have control over URL layout. Graham [1] http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm [2] which happens to be the md5 digest of 'article.1234', but it could just as easily have been a randomly-generated GUID.