REST is the acronym for Representational State Transfer. It can be defined as an architectural style of designing softwares. REST is not a specification or W3C standard. Hence, it is easier to work with RESTful Services. It doesn’t require any middleware specification framework.
Following are some important features of REST.
It relies on stateless, client-server, cacheable communication protocol – virtually in all cases, HTTP is used.
It is light-weighted alternative of WebService and RPC (Remote Procedure Call) like SOAP-WSDL.
It represents everything in unique ID or URIs.
It makes the use of standard HTTP methods, such as GET, POST, PUT, DELETE.
It links sources together.
REST resources could have multiple representations.
Any named information is considered as a Resource. For example: An image, a person, a document, all can be considered as an example of resource and represented as a unique ID or a URI.
World Wide Web itself, based on HTTP, can be viewed as REST based architecture.
REST services are Platform and Language independent. Since it is based on HTTP standards, it can easily work in the presence of firewalls. Like WebServices, REST doesn’t offer any inbuilt security, session management, QoS guarantee but these can be added by building on top of HTTP. For encryption, REST can be used on top of HTTPS.