理解RESTful

一、what?(是什么)

  1. RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。满足这些约束条件和原则的应用程序或设计就是RESTful
  2. 在目前主流的三种web服务交互方案中,REST相比SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简洁明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。

二、why?(为什么要用)

概述:

它主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制

详述:

1、原则条件

无状态:在web应用程序最重要的REST原则是:客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必须的信息。这有什么好处?这意味着 Server 不会保存 Client 的状态信息,也就是说不需要特定的 Server 来响应(假如特定的 Server 宕机,服务将会停止),使得一个客户端请求可以被任何可用的 Server 响应,有利于实现负载均衡,在分布式web系统下,有多个可用的 Server ,每个 Server 都可以处理 Client 发送的请求。其次无状态请求拥有较强的容错性和可伸缩性,如果一台服务器宕机,无状态请求可以透明的交给另一台 Server 来进行处理。参考文章:https://blog.csdn.net/jmilk/article/details/50461577

资源:在服务器端,应用程序的状态和功能可以分为各种资源。资源是一个有趣的实体概念,它向客户端公开。资源有哪些例子?如:应用程序对象、数据库记录、算法、甚至一段文本,一张图片、一种服务等等。每个资源都使用唯一的一个URI指向它,想要获取这个资源,就访问它的 URI,因此 URI 就成了每一个资源的地址或者独一无二的识别符。

传输方法:使用标准的HTTP方法,如:GET 用来获取资源、PUT 用来更新资源、POST 用来新建资源(也可以用来更新资源)、DELETE 用来删除资源

2、分层系统

组件无法了解它与之交互的中间层以外的组件。通过将系统知识限制在单个层,可以限制整个系统的复杂性,促进了底层的独立性。统一界面简化了整个系统架构,改进了子系统之间交互的可见性。REST简化了客户端和服务器的实现。

三、how?(如何使用)

http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值