Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Sure, the original thesis (by Roy Fielding) mentions some disadvantages of the constraints that are the basis of REST:

Stateless:

    The disadvantage is that it may decrease network performance by increasing
    the repetitive data (per-interaction overhead) sent in a series of requests,
    since that data cannot be left on the server in a shared context. In addition,
    placing the application state on the client-side reduces the server's
    control over consistent application behavior, since the application becomes
    dependent on the correct implementation of semantics across multiple
    client versions.
Cache:

    The trade-off, however, is that a cache can decrease reliability if stale
    data within the cache differs significantly from the data that would
    have been obtained had the request been sent directly to the server.
Uniform Interface:

    The trade-off, though, is that a uniform interface degrades efficiency,
    since information is transferred in a standardized form rather than one which
    is specific to an application's needs. The REST interface is designed
    to be efficient for large-grain hypermedia data transfer, optimizing
    for the common case of the Web, but resulting in an interface that is not
    optimal for other forms of architectural interaction.
Layered System:

    The primary disadvantage of layered systems is that they add overhead
    and latency to the processing of data, reducing user-perceived performance.


I fully recommend reading the thesis instead of relying on the vox populi that often times misrepresents what these concepts really mean and what advantages they bring to the architecture of the system: http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch...


Ah - I deserved that. I have a copy of his thesis printed out and sitting on my desk but I haven't read it yet! :-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: