Restful or REST API is architectural style of the web which is used in web services.Let us understand it in a layman language rather than reproducing the technical jargon .Before it we must understand what an API actually stands for
API stands for application programming interface.It actually means that whenever we want to use a service provided by the server we get the service by actually calling their API which is exposed by the service provider.The best example to understand is that we can get the weather reports in our mobile weather app, we can use authenticaton using third party providers like google,facebook etc during sign up in many of the websites.So what actually we are doing is that we are using their code by requesting the server in a proper structure and server responds back with the data and thus all the communication takes place through these APIs
REST stands for representational state transfer.It is nothing but an architecture style which is used for effective communication between the two machines than the traditional SOAP(Simple Object Access Protocol) services.It makes use of HTTP protocol for communication and thus is stateless.It is more popular because it uses various methods of HTTP protocol like GET to retrieve a resource ,PUT to change the state of or update a resource, which can be an object, file or block POST to create that resource and DELETE to remove it.The best part is we deal with the resources not command the resources through query strings
The communication between the machines takes place in a structured format that uses either XML or JSON but latter is more popular because of the clean and more comprehensible structure.
Thus a REST API is only a newer way of communication through the concept of directly addressing the resource.It is more effective as it consumes less bandwidth and because of its stateless nature due to HTTP it is gaining more popularity in cloud services.