[decentralization] Re: REST and POST

Tony Kimball alk@pobox.com
Fri, 24 Aug 2001 17:12:10 -0500


One funny thing about REST is the way it tends to get the blood up, as
a topic of discussion.  In part, I think this is because it threatens
existing practices by rallying punditry to lead us into a world in
which non-REST-ful models are marginalized as being outside the
purview of enlightened best practices.  Disclaimers of proponents
notwithstanding, I think this is a resonable concern.

Another possible contributory explanation is that REST occupies an
difficult place in the de facto vs. de jure continuum.  RFCs typically
begin as codification of practices, and gradually slide into the role
speculative fiat.  I personally find the relationships between
description and prescription obscure and often seemingly muddled in
descriptions of REST-aware architectural axioms.  The area between
these two roles is often a sensitive one.

My own principal criticism of REST is that it binds application
architecture to the HTTP layer.  This rubs against the grain, if
you've observed the utility of separation of layers and transport
independence, and wish to preserve it in your application
architectures.  HTTP was not intended as a transport, but is used as
such, because it does not provide sufficiently rich semantics to
fulfill the role of application layer in many applications, but does
offer effective transport in places where TCP does not.  REST can
be seen as threatening to assert the application layer role of HTTP into
applications which should properly prefer to use it as transport.
I'd rather see web architecture adapting to this condition, 
than see an inadequate architecture perpetuated by the adapatation
of applications.