REST is a simple way to organize interactions between independent systems. Representational State Transfer relies on stateless, client – server cachable communications protocol. Restful applications use HTTP requests to post data create update read and delete. REST uses HTTP for all four CRUD operations.
More to read here.
Scalability is the ability of a system network or process to handle a growing amount of work in a capable manner or its ability to be enlarged to accomodate that growth.
if >=400 client error
if >=500 server error
For the detailed list please visit here.
Idempotency guarantees clients that repeating the same request has the same effect as making a request just once.
DELETE method is idempotent. This implies that the server must return response code 200 OK even if the server deleted the resource in a previous request. For DELETE it means that the server should keep track of previous delete requests (or deleted resources).
GET, HEAD, OPTIONS,PUT, DELETE
Non idempotent methods:
Encode application state into URI and include those URI’s into representation via links. Let clients use these URI’s to interact with resources. If the state is too large to be transported back and forth, store it in the db and encode a reference to it in URIs.
Application state is the state that the server needs to maintain between each request for each client.