Representational State Transfer (REST) is a style of architecture based on a set of principles that describe how networked resources are defined and addressed. These principles were first described in 2000 by Roy Fielding as part of his doctoral dissertation (new window). REST is an alternative to the W3C's set of standards that include SOAP (new window) and other WS-* specifications (some are shown in the navigation menu below).
It is important to note that REST is a style of software architecture as opposed to a set of standards. As a result, such applications or architectures are sometimes referred to as RESTful or REST-style applications or architectures. REST has proved to be a popular choice for implementing Web Services. For example, the books suggested at the bottom of many of these article pages are dynamically generated, in part, using a REST architecture. It is one of the options for Amazon Web Services (new window).
An application or architecture considered RESTful or REST-style is characterized by:
-
State and functionality are divided into distributed resources
-
Every resource is uniquely addressable using a uniform and minimal set of commands (typically using HTTP commands of GET, POST, PUT, or DELETE over the Internet)
-
The protocol is client/server, stateless, layered, and supports caching
This is essentially the architecture of the Internet and helps to explain the popularity and ease-of-use for REST.
More information: Roy Fielding's doctoral dissertation (new window)
![]()
More on the general topic: Messaging specifications
- Asynchronous Application Service Protocol (ASAP) for SOAP
- Message Service Specification (MSS)
- RosettaNet Business Message
- SOAP
- XML Protocol (XMLP)
- Web Distributed Data Exchange (WDDX)
- Web Services Addressing (WS-Addressing)
- Web Services Eventing (WS-Eventing)
- Web Services Notification (WSN)
- Web Services Reliability (WS-Reliability)
- Web Services Reliable Messaging (WS-ReliableMessaging)

