知之为知之,不知为不知,是知也!
Restful架构
一、什么是Restful
来自百度百科
RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。
二、起源
REST全程是Representational State Transfer
的缩写,翻译过来就是表现层状态转换
(摘自),如果一个应用程序应用了该架构,那么就是Restful架构。Restful架构约束了URL的处理以及编码,使程序的设计和实现更加简单轻量。
三、使用原则
-
在遵循Restful架构中,客户端与服务端的交互请求是无状态的,所有的状态都是保存在服务端的,客户端想要获取服务端的信息需要携带服务端所所必须的信息,通过一定的状态转换来获取到所需要的信息。
-
客户端的请求方式只能遵循http协议,然后按照http协议中的四个操作方式:GET、POST、PUT、DELETE来操作服务端。并且四种操作方式分别对应GET获取资源、POST新建资源、PUT更新资源、DELETE删除资源。
-
四种操作方式操作的都是服务端资源,每个资源都使用URI得到唯一的地址,并且所有的资源都共享统一的接口。以便客户端和服务端之间传输状态。
四、资源
上面提到了客户端操作服务端其实都是对资源的操作,那么资源又是什么呢?资源在服务端有多种形式,例如:文本、图片、应用程序对象、数据库数据等。
提到的URI(Universal Resource Identifier)是资源的实体。
五、特点
(1)每一个URI都代表一种资源
(2)客户端使用GET、POST、PUT、DELETE操作对服务端资源进行操作,实现表现层状态转换。
(3)资源的表现形式是XML或者HTML
(4)客户端与服务端的请求是无状态的
(5)Restful架构将服务器分为前端服务器和后端服务器