REST 的基础知识整理

REST是以信息(数据)为中心的表述性状态转移(Representational State Transfer  REST)已成为替代传统的SOAP Web服务的流行方案。SOAP的用武之地一般会关注行为和处理,而REST关注的是要处理的数据。

理解REST也可以从英文全称去逐个理解:

表述性(Representational): REST资源可以由很多形式来表述/描述,其中包括XML、JSON(JavaScript Object Notation)甚至HTML。

状态(State): 当使用REST的时候,强调资源的状态而不是对资源采取的行为。

转移(Transfer): 转移资源数据,简单理解就是把资源以某种表述形式从一个应用转移到另一个应用。

在REST中,资源的识别和定位是通过URL来完成的,有一种常见的错误理解是"REST是一种基于URL的Web服务 ,是一种远程过程调用(remote procedure call , RPC)机制中的一种类型 " 实际上REST和RPC没有任何关系,RPC是面向服务的,并关注行为和动作。

REST中也有行为,这些行为是通过HTTP方法(GET POST PUT DELETE PATCH等)来定义的,可以匹配CRUD动作:

Create: POST

Read: GET

Update: PUT或PATCH

Delete: DELETE

尽管有这些简单的映射,但是这并不是严格的限制。 有时候PUT可以用来创建新资源,POST请求由于本身具有非幂等性(non-idempotent)的特点使其成为了一个非常灵活的方法,对于无法适应其它HTTP方法语义的操作,POST都能胜任。

基于以上的观点,在谈REST的时候更希望听到的是RESTful资源,而不是REST服务、REST Web服务等术语。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值