REST stands for representational state transfer, and defines an architectural style for distributed hypermedia systems. It focuses on creating independent component implementations that are stateless and scale well. Applications that support REST do not store any information about the client state on the server side. Such applications require clients to maintain the state themselves and use the REST-style implementations, such as HTTP APIs exposed by the application, to transfer the state between them and the server. Clients who use the REST API may query the server for the latest state and represent the same state at the client side, thus keeping the client and server in sync.
The state of an application is defined by the state of the entities of the system. Entities can be related to the concept of resources in REST architecture. A resource is a key abstraction...