RESTful API 的基本原理
众所周知,数据库,网站以及业务应用之间都要进行数据交换。这就出现标准的数据格式,传输协议或Web服务,常见的数据格式XML,JSON;常见的传输协议:SAOP,REST等;开发人员通常都需要为一个应用写API接口,使应用集成业务逻辑运行在服务器上,只要客户端和服务器符合web的统一接口,它们就可以使用任何语言或技术独立实现部署;
- REST(Representation State Transfer (表述性状态传递))是一种软件架构风格,或者说是一种规范,其强调HTTP应当以资源为中心,并且规范了URI的风格;规范了HTTP请求动作
(GET/PUT/POST/DELETE/HEAD/OPTIONS)
的使用,具有对应的语义。
关于RESTful风格:作者:Ferrari1001 链接:https://www.jianshu.com/p/6e8381c9b01d 来源:简书
- 使用实例:社交媒体服务,网络聊天等,客户端和服务器在web环境运行,对象信息不需要传递到客户端,需要在客户端和服务器之间执行严格协议时,执行涉及多个调用事务时,REST不适用;
- 实现REST风格框架,我们需要首先确定返回的JSON响应结构是统一的,也就是说,每个REST请求将返回相同结构的JSON响应结构
{
"meta": {
"success": true,
"message": "ok"
},
"data": ...
}
SOAP (Simple Object Access Protocol(简单对象访问协议))
SOAP 是基于 XML 的简易协议
,可使应用程序在 HTTP 之上进行信息交换。或者更简单地说:SOAP 是用于访问网络服务的协议。一条 SOAP 消息就是一个普通的 XML 文档
,包含下列元素:
必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
可选的 Header 元素,包含头部信息
必需的 Body 元素,包含所有的调用和响应信息
可选的 Fault 元素,提供有关在处理此消息所发生错误的信息- 使用实例:金融服务,支付网关等,客户端需要访问服务器上可用的对象,需要花费大量带宽来传递元数据;安全性和授权也属于SOAP协议的一部分;
- SOAP 消息的基本结构:
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
RESTful API-安全性
大多数情况下,我们开发都是现在RESTful API,所以安全性是要重视的问题;
OAuth协议如何确保RESTful API的安全性?
API安全性与缓存机制OAuth2-使用REST JSON XML和JAX-RS构建微服务,大数据(二)