Common language and protocols between servers and clients (4 sub-constraints)
1. Identification of resources
-The Web uses URL's to identify resources, and HTTP as its communication standard.
2.Manipulation of resources through representations.
- The client can manipulate resources by sending representations to a server-(usually a JSON object containing the content that it would like to add, delete, or modify)
BUT The server still has full control of the resources, and is responsible for making any changes
3. Self-descriptive messages
-A single message between client/server contain all the information that the recipient needs to understand it.
-(every HTTP packet contains all methods, headers, content type, protocols, ect.)
4.Hypermedia
-links to other url's
-The server does not need to remember anything about the client or do anything special to cater to it, and vice versa.