REST API规范是什么
REST 是Roy Fielding博士在2000年他的博士论文中提出的一种软件架构模式的风格。是一种设计风格,不是标准,没有谁强制性要求,只是提供了一组设计原则和约束条件。就像舞蹈中的嘻哈风,民族风一样。还有其他风格是 SOAP和 RPC等 。
SOAP是一种数据数据交换协议规范 ,也是一种风格。
SOAP的特点是:轻量的,简单的,基于XML的。
SOAP的优点是 :易用,灵活,跨语言,跨平台。
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
参考 https://www.cnblogs.com/guanghe/p/9121754.html
REST
可以看着是http
协议的一种直接应用,默认基于json
作为传输格式,使用简单,学习成本低效率高,~~但是安全性较低~~,而SOAP
可以看着是一个重量级的协议,基于xml
,SOAP
在安全方面是通过使用XML-Security
和XML-Signature
两个规范组成了WS-Security
来实现安全控制的,当前已经得到了各个厂商的支持,.net ,php ,java 都已经对其有了很好的支持 。这是REST
薄弱的地方。
REST就是一种设计API的模式。最常用的数据格式是JSON。
为什么要用 REST API规范
1)降低开发的复杂性,更简洁,更有层次。
2)提高系统法人可伸缩性,更易于实现缓存等机制
如何设计 REST API 规范
- 不用大写;
- 用中杠
-
不用下杠_
; - 参数列表要encode;
- URI中的名词表示资源集合,使用复数形式。
资源集合 vs 单个资源
URI表示资源的两种方式:资源集合(查询所有数据)、单个资源(附带查询条件)。
避免层级过深的URI
‘/’
在url中表达层级,用于按实体关联关系进行对象导航,一般根据id导航。
过深的导航容易导致url膨胀,不易维护,如 GET /zoos/1/areas/3/animals/4
,尽量使用查询参数代替路径中的实体导航,如GET /animals?zoo=1&area=3
;
本文内容:
SOA, SOAP, REST, RPC 风格 特性 发展史 应用场景对比
待更新