Representational
State Transfer (REST) is a software architecture style for
building scalable web services. REST gives a coordinated set of constraints to
the design of components in a distributed hypermedia system that can lead to a
more performant and maintainable architecture.
REST stands for
Representational State Transfer. (It is sometimes spelled "ReST".) It
relies on a stateless, client-server, cacheable communications protocol -- and
in virtually all cases, the HTTP protocol is used.
REST is an architecture
style for designing networked applications. The idea is that, rather than using
complex mechanisms such as CORBA, RPC or SOAP to connect between machines,
simple HTTP is used to make calls between machines.
REST is a lightweight
alternative to mechanisms like RPC (Remote Procedure Calls) and Web Services
(SOAP, WSDL, et al.).
RESTful programming
is about:
1.Resources
being identified by a persistent identifier: URIs are the found
everywhere/ubiquitous choice of identifier these days.
2.Resources
being manipulated using a common set of verbs:
HTTP methods are the commonly seen case - the venerable Create, Retrieve,
Update, Delete becomes POST, GET, PUT, and DELETE.
3.The
actual representation retrieved for a resource is dependent on the request and
not the identifier: use HTTP Accept headers to control whether
you want XML, HTTP, or even a Java Object representing the resource.
4.Maintaining the
state in the object and representing the state in the representation.
5.Representing the
relationships between resources in the representation of the resource: the
links between objects are embedded directly in the representation.
6.Resource
representations describe how the representation can be used and under what
circumstances it should be discarded/refetched in a consistent manner: usage of
HTTP Cache-Control headers.
No comments:
Post a Comment