REST Unrest

Gee, we will never run out of clever name permutations with this one, will we? Anyways…

Where did this idea come from that in order to be RESTful, an app has to use all four HTTP verbs? How did that become the criteria? I don’t get it.

The crux of REST is in uniform, immutable representations that reflect the state of a uniquely identifiable resource at a given time (i.e. stateless), and these representations travelling between client, server, proxies, and caches (i.e. multiple layers). That’s all (jump in if I am missing anything).

You can still design a RESTful application that doesn’t allow PUT or DELETE,
and even GET or POST. Architectural style does not dictate the use of
the verbs — the application needs do.

I agree, though — the debate does seem to have a certain religious war flavor to it. It just pains me to see people define architectural styles in terms of the building materials. HTTP is bricks and mortar, REST is Baroque. Bricks and mortar by themselves don’t make Baroque. Baroque by itself doesn’t require bricks and mortar. Failure to see the distinction is the sticking point.

As for defining the subset(s) of HTTP and applicable architectures that tend to work well in the modern Web, I am all for it. Tim Bray has the right idea.

Leave a Reply