Information Technology Reference
In-Depth Information
representation that specifies any three distinct points along the curve as a
comma-separated list.
Any number of connectors (clients, servers, caches, tunnels, etc.) can medi-
ate the request, but each does so without seeing past its own request (referred
to as layering , another constraint of REST and a common principle in many
other parts of information and networking architecture). Thus, an applica-
tion can interact with a resource by knowing two things: the identifier of the
resource and the action required—it does not need to know whether there
are caches, proxies, gateways, firewalls, tunnels, or anything else between
it and the server actually holding the information. The application does,
however, need to understand the format of the information (representation)
returned, which is typically an HTML, XML, or JSON document of some
kind, although it may be an image, plain text, or any other content.
RESTful Web Services rely on HTTP as a sufficiently rich protocol to com-
pletely meet the needs of Web Service applications. In the REST model, the
HTTP GET, POST, PUT, and DELETE verbs are used to transfer data (often
in the form of XML documents) between client and services. These docu-
ments are representations of resources that are identified by normal Web URIs
(Uniform Resource Identifiers). This use of standard HTTP and Web technol-
ogies means that RESTful Web Services can leverage the full Web infrastruc-
ture, such as caching and indexing. The transactional and database integrity
requirements of CRUD (Create, Retrieve, Update, and Delete) correspond to
HTTP's POST, GET, PUT, and DELETE.
One benefit that should be obvious with regard to web-based applications
is that a RESTful implementation allows a user to bookmark specific queries
(or requests) and allows those to be conveyed to others across e-mail and
instant messages or to be injected into wikis, etc. Thus, this representation
of a path or entry point into an application state becomes highly portable.
A RESTFul Web Service is a simple Web Service implemented using HTTP
and the principles of REST. Such a Web Service can be thought of as a collec-
tion of resources comprising three aspects:
1. The URI for the Web Service
2. The MIME type of the data supported by the Web Service (often
JSON, XML, or YAML but can be anything)
3. The set of operations supported by the Web Service using HTTP
methods, including but not limited to POST, GET, PUT, and DELETE
REST provides improved response time and reduced server load due to its
support for the caching of representations. REST improves server scalability
by reducing the need to maintain session state. This means that different
servers can be used to handle different requests in a session.
REST requires less client-side software to be written than other
approaches, because a single browser can access any application and any
Search WWH ::




Custom Search