REST

Restful

REST API

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

  • 发送请求进行CRUD哪个操作由请求方式来决定
  • 同一个请求路径可以进行多个操作
  • 请求方式会用到GET/POST/PUT/DELETE

非 REST API

  • 请求方式不决定请求的CRUD操作
  • 一个请求路径只应对应一个操作
  • 一般只有 GET/POST

客户-服务器(Client-Server)客户端服务器分离

优点:

  • 提高用户界面的便携性(操作简单)
  • 通过简化服务器提高可伸缩性(高性能,低成本)
  • 允许组件分别优化(可以让服务端和客户端分别进行改进和优化)

无状态(Stateless)

从客户端的每个请求要包含服务器所需要的所有信息

优点:

  • 提高可见性(可以单独考虑每个请求)
  • 提高了可靠性(更容易从局部故障中修复)
  • 提高可扩展性(降低了服务器资源使用)

缓存(Cachable)

服务器返回信息必须被标记是否可以缓存,如果缓存,客户端可能会重用之前的信息发送请求。

优点:

  • 减少交互次数
  • 减少交互的平均延迟

分层系统(Layered System)

系统组件不需要知道与他交流组件之外的事情。封装服务,引入中间层。

优点:

  • 限制了系统的复杂性
  • 提高可扩展性

统一接口(Uniform Interface)

优点:

  • 提高交互的可见性
  • 鼓励单独改善组件

支持按需代码(Code-On-Demand 可选)

优点:

  • 提高可扩展性
  • 因为其他答案已经提到了一些概念,所以我没有多写。

restful架构

  • 每一个URI代表一种资源;

  • 客户端和服务器之间,传递这种资源的某种表现层;

  • 客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。

所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值