Representational state transfer (REST) API
Representational state transfer (REST) is an architectural style consisting of a coordinated set of constraints applied to components, connectors, and data elements, within a distributed hypermedia system. REST ignores the details of component implementation and protocol syntax in order to focus on the roles of components, the constraints upon their interaction with other components, and their interpretation of significant data elements.
REST has been applied to describe desired web architecture, to identify existing problems, to compare alternative solutions, and to ensure that protocol extensions would not violate the core constraints that make the Web successful. Fielding used REST to design HTTP 1.1 and Uniform Resource Identifiers (URI).
The REST architectural style is also applied to the development of Web services as an alternative to other distributed-computing specifications such as SOAP.
The properties of the REST architectural style are:
• Scalability of component interactions
• Simplicity of interfaces
• Modifiability of components to meet changing needs (even while the application is running)
• Visibility of communication between components by service agents
• Portability of component deployment
Web Service APIs that adhere to the REST constraints are called RESTful. RESTful APIs are defined with these aspects:
• base URI, such as http://example.com/resources/
• an Internet media type for the data. This is often JSON but can be any other valid Internet media type (e.g. XML, Atom, microformats, images, etc.)
• standard HTTP methods (e.g., GET, PUT, POST, or DELETE)
• hypertext links to reference state
• hypertext links to reference related resources
Contents related to 'Representational state transfer (REST) API'