起源

RESTful出现在Roy Thomas Fielding所写的博士论文:

《Architectural Styles and the Design of Network-based Software Architectures》

RESTful构架

Fielding将他对互联网软件的架构原则,定名为REST,即Representational State Transfer的缩写。我对这个词组的翻译是"表现层状态转化"。
目前,互联网的产品严重依赖于HTTP/HTTPS。尤其是APP开发中,我们通常会选择使用HTTP来进行通信和数据交互,即接口。
传统HTTP只使用在WEB数据传输中,我们在进行WEB构架设计的时候,通常会选择一门脚本语言(php/Python)来完成特殊的数据处理,然后在服务器端结合HTML+CSS+JS等生成一个静态页面,通过HTTP传输给客户端,客户端接收到的是已经在服务器端进行特殊处理过的数据(HTML)。
HTTP叫超文本传输协议;HTML叫超文本标记语言。所以HTTP设计的初衷是为了传输HTML的。
HTTP本身是无状态的。即服务器端和客户端在进行交互的时候,HTTP是无法保持客户端状态的(比如客户登录状态)。所以,才出现了SESSION技术来保存用户状态。
HTTP规定出了它可以使用的一套标准动作和一套标准码。即表明HTTP请求的来意和结果。
HTTP请求的来意用Request Method表示,有以下几个属性:

HTTP回复的结果用status code表示,有以下几个属性:

具体关于HTTP的详细介绍,请参看《RFC2616》

但是,随着APP开发需求+H5技术的出现;我们越来越希望HTTP可以将格式化的数据交付给我们,而不再是HTML。这样,如果我能够开发一套完整的API,也许,它可以满足任何终端的需求。既然如此,设计一套合理完善的API将是接下来开发成败的关键。我想这就是RESTful构架出现的原因。

RESTful构架特征

评论已关闭。

X