|
|
This work is licensed under a Creative Commons |
Representational State Transfer (REST) is an architectural style for building distributed systems. The WWW is an example for such a system. REST-style applications can be built using a wide variety of technologies. REST's main principles are that of resource-oriented states and functionalities, the idea of a unique way of identifying resources, and the idea of how operations on these resources are defined in terms of a single protocol for interacting with resources. REST-oriented system design leads to systems which are open, scalable, extensible, and easy to understand.
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.
C. A. R. Hoare, The Emperor's Old Clothes
, 1980 Turing Award Lecture
againstthe tool is possible, but hard and rarely done
POST) data to a resourceLOCK and UNLOCK for remote editingMKCOL for creating new collectionsPROPFIND and PROPPATCH for metadata manipulationLOCK and UNLOCK could be regarded as fundamentalGET: Fetching a resource (there must be no side-effects)PUT: Transfers a resource to a server (overwriting if there already is one)POST: Adds to an existing resource on the serverDELETE: Discards a resource (its name cannot be used anymore)POSTingPOST adds instead of an overwriting updatePOST can have different effectsPOSTing, state is changed and a new resource is createdPOSTing, only the existing resource is changedPOSTable resources should be GETable as wellPOSTsRESTin his Ph.D. thesis
application-level protocol
PUT, GET and POSTPOSTing it to the right place: …/ischool/f06/ → URIPUTting a new version of itDELETE …/ischool/f06/290-3