A REST service application represents one or more Resources. Each Resource represents a business entity and is mapped to its own URL. Each Resource defines a number of operations mapped to HTTP Methods
Typical conventional use of HTTP Methods are:
- GET receives (queries) a collection of elements or a specific element identified by a client
- POST creates a new element
- PUT updates an existing element
- DELETE removes an element
REST is centered around an abstraction known as a “resource.” Any named piece of information can be a resource.
A resource is identified by a Uniform Resource Identifier (URI).
Clients request and submit representations of resources.
There can be many different representations available to represent the same resource.
A representation consists of data and metadata. Metadata often takes the form of HTTP headers. Resources are interconnected by hyperlinks.
A REST web service is designed by identifying the resources. This is similar to Object Oriented Analysis and Design where you identify nouns in use cases.
Unlike SOAP services, there is no standard for REST Services. REST is considered to be a style of coding rather than an actual protocol.