REST is a client-server architecture which (among other things) leverages the full capacity of the HTTP protocol.
Some relevant points in REST:
- Each URL on the server represents a resource; either a collection resource or an element resource.
- A collection resource would be available at a URL like
http://restful.ex/items/
which would be a representation of a list of items. - A element resource would be available at a URL like
http://restful.ex/items/2
which would be a representation of a single item, identified by2
.
- A collection resource would be available at a URL like
- Different HTTP methods are used for different CRUD operations:
- a GET is a read operation
- a PUT is a write/modify operation
- a POST is a create/new operation
- a DELETE is a… ok, that one is kind of self-explanatory.
- State (or rather, client context) is not stored on the server-side; all state is in the representations passed back and forth by the client’s requests and the server’s responses.