随着互联网的高速发展,越来越多的人开始意识到网站即软件,且是一种新型的软件,基于http协议的rest架构风格便应运而生,它是全新的针对Web应用的开发风格,就譬如给孩子请个家教一对一教学,针对孩子特点因材施教,孩子亦可以最简单便捷的方式去接收知识。它使人们真正理解了Http协议本来面貌,也是当今世界最成功的互联网超媒体分布式系统架构,因此我们把REST也写作为REST/HTTP。
那么到底REST是什么,从何而来,又有着怎样的影响?接下来一一为大家讲述。
1 : REST的起源和理解
REST软件架构是由http协议的开发者Roy Thomas Fielding博士在2000年首次提出的,一经提出就得到了广泛的关注,并对互联网开发产生了不可比拟的影响。
REST,即Representational State Transfer的缩写,中文是"表现层状态转化",Roy Fielding将其定义为一种架构风格,而不是标准,目标是“使延迟和网络交互最小化,同时使组件实现的独立性和扩展性最大化”。
如果一个架构符合REST原则,我们就称它为RESTful架构。那么我们就需要了解这个架构的规范,以更好的掌握消化它。
2 : RESTful构架规范
首先,要理解RESTful架构,就必须先理解Representational State Transfer这个词组,直译过来是「表现层状态转化」,其实它省略了主语。「表现层」其实指的是「资源」的「表现层」,所以通俗来讲就是:资源在网络中以某种表现形式进行状态转移。
其次,再来理解一个具体的RESTful架构——面向资源的架构(Resource-Oriented Architecture,ROA):
此外,应用于Web服务,符合REST设计风格的Web API称为RESTful API。它从以下三个方面资源进行定义:
3 : REST的优点
1、统一接口:它不仅仅能够对于互联网资源进行唯一定位,而且还能告诉我们对于该资源进行怎样运作。好处是保证系统提供的服务都是解耦的,极大的简化了系统,从而改善了系统的交互性和可重用性。
2、分层系统:提高了各种层次之间的独立性,也提高了系统的可伸缩性。
3、按需代码:允许对客户端功能进行扩展,改善了系统可扩展性,但降低了可见性。
4:REST的应用
基于以上分析及非REST协议和REST协议的对比,我们不难得出:REST风格的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,且结构清晰、符合标准、易于理解、扩展方便,所以得到越来越多网站的采用。比如Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。
对于广大平台来说,比如Facebook platform等,它们不需要有显式的前端,只需要一套提供服务的接口,于是RESTful更是它们最好的选择。
结语
中国移动·通信开放平台就是使用REST风格的Web服务来进行API的调用,以求更好的为客户服务。相信,有类似REST风格等正确的理论指导,会能让大家在软件开发的实际工作过程中少走弯路