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 by 2.
- 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.