浅谈RESTful API

什么是RESTful API呢?下面就给大家好好的细说一下 

下载资源:www.yinxiangit.com

REST,即Representational State Transfer的缩写。直接翻译的意思是”表现层状态转化”。
是一种互联网应用程序的API设计理念:

 URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

 

近年来移动互联网的发展,前端设备层出不穷(手机、平板、桌面电脑、其他专用设备……),因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信,于是RESTful诞生了,它可以通过一套统一的接口为 Web,iOS和Android提供服务。

 

URI

即统一资源标识符,服务器上每一种资源,比如文档、图像、视频片段、程序 都由一个通用资源标识符(Uniform Resource Identifier, 简称”URI”)进行定位

HTTP动词

常用的HTTP动词有下面五个

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
  • PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
  • DELETE(DELETE):从服务器删除资源。

     

RESTful架构:

服务器上每一种资源,比如一个文件,一张图片,一部电影,都有对应的url地址,如果我们的客户端需要对服务器上的这个资源进行操作,就需要通过http协议执行相应的动作来操作它,比如进行获取,更新,删除。

REST是什么?

在2000年,HTTP规范的主要作者之一Roy T. Fielding发表了他着名的博士论文。它引入了REST的概念,并作为设计良好的Web应用程序应该是什么样子的第一个正式描述之一:

REST提供了一组体系结构约束,当作为一个整体应用时,强调组件交互的可伸缩性,接口的通用性,组件的独立部署以及中间组件,以减少交互延迟,实施安全性并封装遗留系统。

在接下来的部分中,我们将详细介绍REST API的概念和约束。

关注点分离:客户端和服务器

所有RESTful应用程序必须尊重客户端和服务器之间的关注点分离。这意味着客户端和服务器可以完全互操作。只要客户端和服务器都同意数据格式(通常是JSON)和消息传递协议(HTTP),就可以在不影响服务器操作的情况下更改客户端的代码,并且可以在不影响服务器端的代码的情况下更改代码客户端。

这种模块化使RESTful应用程序更加灵活,更易于扩展。可以采用面向组件的开发方法,只要它们访问正确的REST端点,不同的客户端和服务器就可以相互交互

 

RESTful应用程序的核心和灵魂是组件之间统一接口的想法。REST由四个接口约束定义:

请求中的资源标识,可以命名的任何信息都是资源,可以通过URI识别资源,这与资源类型无关。

 

通过表示来处理资源。这些资源的表示不是直接操纵资源,而是在整个系统中传递。HTML,XML,SVG,JSON和PNG是资源表示格式的示例。

自我描述性的信息,每个客户端请求和服务器响应都包含作用于资源所需的所有上下文。

基本上,每个响应都通过为每个响应中的允许操作提供URI来描述API的使用方式。有点争议的是,许多自称为RESTful的API都跳过了这个要求。但要真正的RESTful原始论文,HATEOAS是一个艰难的要求。

总而言之,组件之间有一个统一的接口,可以将实现与它们提供的服务分离,并鼓励独立的发展。换句话说,您实现了分布式网络中的应用程序之间的互操作性 – RESTful API。

转载于:https://www.cnblogs.com/bingerger/p/11516806.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值