Everything is a resource
Representing data by a specific format and not by a physival file containing a bunch of types. Content Type: [image/jpeg, video/mpeg, text/html, application/octet-stream]
Each resource is identifiable by a unique identifier (URI)
All shoul be accesible via URIs
Resources are manipulated via standard HTTP methods
HTTP protocol defines some actions known as HTTP verbs
Resources can have multiple representations
A resource is that it may be represented in a different format
Communicate with resources in a stateless manner
All modifications of a resource should be carried out within an http request in an isolated manner, so mean application to be stateless, state is your related data.
Separation of the representation and the resource
Visibility
Reliability
Scalability and performance