ABSTRACT

REpresentational State Transfer (REST), is an architectural style for network-based interactive applications that explains the Web. Its constraints form an interesting set of decisions whose main goals are extensibility, decentralization, interoperability, and independent component development, rather than performance. One point of contention between the model and reality is how to handle the application state. REST calls for transferring the state to the client at every request, and using Universal resource locators that describe actions on the server without any hidden information. In many cases, that turns out to be impractical – too much information would need to be sent back and forth. The synchronous, connectionless, request/response constraint is another interesting constraint that goes against the practice in many distributed systems.