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可以看着是一个重量级的协议,基于xmlSOAP在安全方面是通过使用XML-SecurityXML-Signature两个规范组成了WS-Security来实现安全控制的,当前已经得到了各个厂商的支持,.net ,php ,java 都已经对其有了很好的支持 。这是REST薄弱的地方。

REST就是一种设计API的模式。最常用的数据格式是JSON。

为什么要用 REST API规范

1)降低开发的复杂性,更简洁,更有层次。

2)提高系统法人可伸缩性,更易于实现缓存等机制

如何设计 REST API 规范

  1. 不用大写;
  2. 用中杠-不用下杠_
  3. 参数列表要encode;
  4. URI中的名词表示资源集合,使用复数形式。

资源集合 vs 单个资源

URI表示资源的两种方式:资源集合(查询所有数据)、单个资源(附带查询条件)。

避免层级过深的URI

‘/’在url中表达层级,用于按实体关联关系进行对象导航,一般根据id导航。

过深的导航容易导致url膨胀,不易维护,如 GET /zoos/1/areas/3/animals/4,尽量使用查询参数代替路径中的实体导航,如GET /animals?zoo=1&area=3

本文内容:

SOA, SOAP, REST, RPC 风格 特性 发展史 应用场景对比

待更新

REST API规范相关推荐

  1. php restful规范,RESTFul API规范 详细指南

    RESTFul规范 RESTFul是一种HTTP API接口规范,只要满足的RESTFul规范,即可称为RESTFul API. 既然是接口,我们先来了解一下,他和传统的API接口有何不同吧. 本文以 ...

  2. RESTful API 规范

    REST 和 RESTfulAPI REST是REpresentational State Transfer表述性状态转移 的首字母缩写,是一种基于超媒体构建分布式系统的架构风格.与其他架构风格一样, ...

  3. 【Restful】你还不懂Restful API规范吗?

    进入正文之前,先带着小伙伴们了解几个名词,源自百度百科. 标题中涉及的核心名词API,restful 扩展 何为API呢? API(Application Programming Interface, ...

  4. Elasticsearch APIs解析(一、API规范及约定)

    (本API基于Elasticsearch7.7版本) 从本节开始我们借助Kibana工具编写api 1.多索引支持 大部分的API可以支持跨多个索引查阅索引信息 例如: GET /test1,test ...

  5. 团队RESTful 风格API规范

    实际上就是用RESTful风格来包装HTTP协议,并用json或xml格式实现数据交互. RESTful风格: 网络资源实体化,CURD对资源进行操作. 好的规范评判标准:直观.扩展.优雅 1.数据交 ...

  6. 阮一峰RESTful API规范

    一.URL 设计 1.1 动词 + 宾语 RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构.比如,GET /articles这个命令,GET是动 ...

  7. 初识 RESTful API规范

    简介 一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. rest是一种 ...

  8. restful 风格 web api规范

    协议:http/https 域名 : http://api.example.com/xxx/xxx api: 标明api接口服务 xxx: 服务 xxx: 资源 版本控制: 一.使用MediaType ...

  9. 微软宣布在Azure API管理中预览OpenAPI规范V3

    最近,微软宣布在Azure API管理中支持OpenAPI规范V3,他们的服务允许创建.发布.监控和维护API.OpenAPI规范的使用是通过 OpenAPI .NET SDK完成的,并支持从它们的实 ...

最新文章

  1. 新转机!2020年想裸辞的程序员们注意了
  2. 史上最全 Java 多线程面试题及答案
  3. 01.几张图轻松理解String.intern()
  4. Python3序列解包
  5. 计算平均指令时间_为什么向量化计算(vectorization)会这么快?
  6. python excel数据分析实战_一次完整的数据分析实战!仅用4步,效率吊打Excel和Python...
  7. 一道说难不难的js题目
  8. 14-求两个日期之间的天数
  9. 电信移动联通广电喜提5G牌照,5G手机明年爆发
  10. CE修改器入门:运用代码注入
  11. 可视化软件有哪些?各自的优缺点?
  12. 硬盘播出系统_昌吉广播电视台中型多功能演播室系统概述
  13. 串口termios函数
  14. 李南江 html5 知乎,从知乎看如何鼓励优质UGC内容
  15. ansys mechanical 脚本编写
  16. 计算机二级大题知识点汇总,计算机二级office复习知识点「汇总」
  17. 申请美国大学计算机专业,美国TOP20大学计算机专业申请建议
  18. web注释@WebService,@WebMethod,@Oneway,@WebParam
  19. animated-rotate
  20. 模拟器什么的都过时了!这样玩吃鸡才能真正的高清无延迟

热门文章

  1. MySQL旧版本的完整卸载(最全面)
  2. 立创EDA安装ibom插件
  3. pgsql处理文档类型数据_PostgreSQL 基本数据类型及常用SQL 函数操作
  4. html大作业展示个人风采,个人风采展示自我介绍精选模板
  5. 【转】初识caffe2
  6. linux脚本量产,可玩性很高的量产键盘、套件 HEAVY SHELL KIRA 96简单上手
  7. matlab 1向量组,matlab-线性代数 rank 向量组的秩
  8. Java写时复制CopyOnWriteArrayList
  9. 导入地形数据到pointwise中生成网格
  10. 安装RVM(ruby版本控制)