QuickStudy: Representational State Transfer (REST)
It describes the principles that keep things moving smoothly on the Web.
Computerworld - Definition: Representational State Transfer (REST) is an architectural style of large-scale networked software that takes advantage of the technologies and protocols of the World Wide Web. REST describes how distributed data objects, or resources, can be defined and addressed, stressing the easy exchange of information and scalability.
In 2000, Roy Fielding, one of the primary authors of the HTTP specification, wrote a doctoral dissertation titled Architectural Styles and the Design of Network-based Software Architectures. In it, he coined the term Representational State Transfer to describe the networking principles that characterize the World Wide Web.
In the broadest terms, REST outlines how to define and address sources of specific information, commonly known as resources. Resources are referred to individually with a universal resource identifier, such as the URL used for Web addresses. The term REST often describes any simple interface used to transmit domain-specific data over HTTP without the need for additional messaging layers or session tracking.
REST is an architectural style, not a standard or implementation specification. The largest REST application is the Web itself, characterized by the use of HTTP for transport and URLs as addressing mechanisms. REST can support any type of media, and XML is the most popular method used to transport and represent structured information. REST is used with HTML, XHTML, RSS and proprietary XML vocabularies.
Systems that follow Fieldings REST principles can be called RESTful, and some of RESTs advocates call themselves RESTafarians. But REST isnt the only possible approach to building network applications, and there is some disagreement as to whether another might be preferable.
Basics of REST
REST involves several basic notions:
Data elements. Resources (such as data objects), resource identifiers (network addresses, URLs), and representations of resources (HTML documents, JPEG images) are accessed through a standardized interface such as HTTP.
Components. Origin servers, gateways, proxies and user agents communicate by transferring representations of resources through the interface, not by operating directly on the resources themselves. This is generally done using well-defined operations such as Get and Put.
Connectors. Clients, servers and caches, as well as tunnels such as Socks and SSL connections, present an abstract interface for communication, hiding the implementation details of communication mechanisms.
Stateless interaction. All requests made to connectors must contain all the information necessary to understand that request without depending on any previous request. This contrasts with the way many Web sites use cookies to maintain data between sessions. With REST, all messages must include all information necessary to understand the context of an interaction.
Why REST?
Many developers find REST challenging because it requires them to rethink their problems in terms of manipulating addressable resources instead of calling another routine to do something with that data. With RESTful design, Web services can be seen as simply a means of publishing information, components and processes to make them accessible to other users and machine processes. For example, the Atom Publishing Protocol, a RESTful application widely used for blogs, simplifies the process of publishing information and makes processes available to others so they can interact with that information. In general, REST requires less client-side software than do other approaches, because a single, standard browser can access any application and data resource.
Kay is a Computerworld contributing writer in Worcester, Mass. Contact him at russkay@charter.net.
Read more about Networking in Computerworld's Networking Topic Center.
- Google I/O 2013's Coolest Products and Services
- 10 Star Trek Technologies That are Almost Here
- 19 Generations of Computer Programmers
- 25 Must-Have Technologies for SMBs
- A walking tour: 33 questions to ask about your company's security
- 15 social media scams
- The 7 elements of a successful security awareness program
- IT Certification Study Tips
- Register for this Computerworld Insider Study Tip guide and gain access to hundreds of premium content articles, cheat sheets, product reviews and more.
- Seven Contact Center Trends You Can't Ignore Rapid changes are underway in the world of traditional contact centers. It starts with the disruptive nature of social media and mobile apps,...
- Top Ten Reasons Customers Choose Siemens Enterprise Communications to Help Transform their Business Trusted by over 75% of the Fortune 500, Siemens Enterprise Communications is the only vendor to provide the complete range of Voice, UCC...
- Amplify collective effort. Dramatically improve performance. Discover why now is the time to revisit the untapped potential of team performance and leverage team collaboration as a vital corporate asset.
- The Untapped Potential of Virtual Teams The results from a recent global research study show that while the vast majority of organizations rely on remote, distributed and mobile team...
- Modernizing Wireless Infrastructure for Today's Mobile and Data Driven Enterprise Find out some of the compelling drivers and unique challenges that the Georgia Dome had to address to prepare the stadium for a...
- 5 Ways to Keep the Heart of Your IT Beating Strong in 2013 Your IT investments should bring you some combination of results, relief, and reward. So how do you make sure your ongoing data center... All Networking White Papers | Webcasts