什么是 RESTful API(应用程序接口)?
受 RESTful 网络服务大肆宣传的影响,您可能会认为这是一个仅一两年前才突然出现的新概念。事实是,RESTful API 的基本概念与网络本身一样古老,从这个角度才能对其有真正的了解。
在深入了解 RESTful API 是什么之前,让我们解释一下您应该关心的原因。这些年来,已经出现了数百种方法,通过使用相同语言的网络将计算机连接在一起。这些方法或"协议"的演变导致人们接受了一堆商定的标准,每项标准都以特定的方式处理计算机通信问题。最顶部的是应用程序和演示层,业务逻辑和由此产生的数据就在此交换。
REST 就是这些标准之一,用来便于人们了解正在交换的内容,同时允许计算机有效地彼此通信。您可能还听说过可以驻留于此的一些其他技术,例如 SOAP (简单对象访问协议,需要相当数量的数据和计算能力,并不真正适用于移动应用程序的受限资源)、JMS(特定于 Java 应用程序)和 XML-RPC(它有许多与 SOAP 相同的问题,没有任何标准化的好处)。

REST 允许使用定义网络的同样成熟的机制传递最小数量的数据,而不会产生更更多协议带来的大量负担。这使程序员能够更快地构建可访问通过 API 公开的数据并对其采取操作的程序,即使在网络速度不可靠且计算能力有限的环境中。
REST 的工作方式几乎与浏览器中的网站一样。资源通过 URL 公开给程序。该程序可以访问该 URL 并接收有关资源的数据,这与您在浏览器中输入 URL 得到网页的情况不同。精心设计的 RESTful API 包括程序可遵循的附加链接以请求相关信息(类似于您点击链接以访问新页面的方式),或者提交数据以更新给定资源(类似于填写网页表格为网站创建新帐户的方式)。
对所有这些灵活性的代价是缺乏强有力的标准。REST 真正描述了传输数据的方法,但是实施者大多是靠自己来弄清楚这些数据看起来应该是什么样子的。这种情况正在迅速改变,特别是随着通过网络访问数据的移动设备数量的增加,但这些格式结合成类似真正标准的东西还需要一段时间。