REST represents for the representational state transfer, it’s the core idea of resource objected architecture. It define the whole net system structure from the perspective of resource. It sepreate the resource, the appearance of resource and the action of getting resource
and restful API isa way for two computers systems, or in most cases a client and a server, to communicate over HTTP in similar way to web browser.
So in one word, restful API allows that the client can use get post put patch delete, to so operation on the resource on the server side.
Like throught the method of http, like Get Post delete, get etc

详细版本:
REST – REpresentational State Transfer首先,之所以晦涩是因为前面主语被去掉了,全称是 Resource Representational State Transfer:通俗来讲就是:资源在网络中以某种表现形式进行状态转移。分解开来:Resource:资源,即数据(前面说过网络的核心)。比如 newsfeed,friends等;Representational:某种表现形式,比如用JSON,XML,JPEG等;State Transfer:状态变化。通过HTTP动词实现。

我们为什么要理解RESTful 呢?
因为这是设计好restful API 的保证。
我们为什么最开始要使用restful API 呢?万维网最开始发展的时候 前端后端是融合在一起的 比如说Php和JS,但是移动互联网的发展 使得各种类型的client,比如安卓和IOS。那么我们必须要考虑一套东西 使得所有的client都可以通过这套规定从数据库中拿东西。(毕竟如果我们为每一种client设计一套规定就太难了),所以就像下面这样:
What is REST and RESTful API?_ios
Server统一提供一套RESTful API,web+ios+android作为同等公民调用API。各端发展到现在,都有一套比较成熟的框架来帮开发者事半功倍。
– Server –
推荐: Spring MVC 或者 Jersey 或者 Play Framework
– Android –
推荐: RetroFit ( Retrofit ) 或者 Volley ( mcxiaoke/android-volley · GitHub Google官方的被block,就不贴了 )
– iOS –
推荐:RestKit ( RestKit/RestKit · GitHub )
– Web –
推荐随便搞!可以用重量级的AngularJS,也可以用轻量级 Backbone + jQuery 等。