Representational state transfer (REST)

Representational state transfer (REST) Protocol is a simple HTTP-based protocol which was introduced in 2000 in the doctoral dissertation of Roy Fielding ( one among the chief authors of the Hypertext Transfer Protocol (HTTP) specification). REST is basically a collection of network architecture principles that describe how resources are defined and addressed.This software architecture is designed for distributed hypermedia systems like the World Wide Web. Systems which follow Fielding’s REST principles are popularly known as RESTful.

Supported Client types

REST supports the following client types:

  • Web forms— They use conventional HTML forms to POST a message to a destination (queue or topic) or to GET a message from a destination.
  • Ajax clients— Ajax is an Asynchronous JavaScript And Xml (Ajax) library that enables us to communicate with a REST endpoint using JavaScript in a DHTML Web page.

Benefits

A RESTful implementation enables a user to bookmark specific queries or requests and permits those to be conveyed to others across e-mail, instant messages, or to be inserted into wikis, etc. Thus this “representation” of a path or entry point into an application state becomes highly portable.

Other major benefits of REST Protocol includes:

  • Improved response time and reduced server load due to its support for the caching of representations.
  • 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
  • Requires less client-side software to be written than other approaches, because a single browser can access any application and any resource
  • Depends less on vendor software and mechanisms which layer additional messaging frameworks on top of HTTP
  • Equivalent functionality when compared to alternative approaches to communication
  • Does not require a separate resource discovery mechanism, due to the use of hyperlinks in representations
  • Better long-term compatibility and evolvability characteristics than RPC. This is due to the capability of document types such as HTML to evolve without breaking backwards or forwards compatibility and the ability of resources to add support for new content types as they are defined without dropping or reducing support for older content types.

Leave a comment