REST基础概念:

  • 在REST中的一切都被认为是一种资源。
  • 每个资源由URI标识。
  • 使用统一的接口。处理资源使用POST,GET,PUT,DELETE操作类似创建,读取,更新和删除(CRUD)操作。
  • 无状态。每个请求是一个独立的请求。从客户端到服务器的每个请求都必须包含所有必要的信息,以便于理解。
  • 通信都是通过展现。例如XML,JSON

  以状态为角度,提出将状态移植到客户端处理的新思路。 提出一个既适于客户端应用又适于服务端的应用的、统一的Web视图。适合B/S C/S S/S。 HTTP客户端与HTTP服务器之间的差别,对架构来说无所谓。一个软件应可以既充当Web客户端又充当Web服务器,而无须采用两套完全不同的APIs。

  提供资源操作方法的统一:POST, GET, PUT, DELETE ,以超文本或超媒体驱动(hypertext/Hypermedia)的状态转移是REST架构核心。 操作带来状态变化,状态转移遍历使用链接导航方式实现。

  如下图:首先通过GET方法访问/well-known-uri(1)获得当前所有资源(2),然后选择其中一个资源名FooService通过Get方法访问/well-known-uri/foo(3),这样得到foo下的资源列表。

  foo可能是一个领域模型或其他代表业务核心的资源,假设foo是订单,用户如果希望改变订单状态,比如撤销订单,一旦点按撤销订单按钮,客户端将向/well-known-uri/foo/reverse发出PUT命令(5),代表撤销订单,这其实一个修改订单状态的命令。

  客户端再次发出GET命令(6),获得状态已经改变的结果。

  值得注意的是,当发出PUT命令后,不是通常由服务器端立即返回业务操作结果,而是返回Http的200,表示PUT操作完成,具体业务结果必须由客户端再次根据第三步获得的资源列表中URI资源,再次由客户端发出查询命令获得(6)。

https://www.jdon.com/rest.html

转载于:https://www.cnblogs.com/softidea/p/9613540.html

REST面向资源架构 RESTful架构相关推荐

  1. RESTful 架构详解

    1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的 ...

  2. RESTful 架构

    REST全称是Representational  State Transfer, 意思是表述(表征)性状态转移.REST是一组架构约束条件和原则. REST本身并没有创造新的技术, 组件和服务, 而隐 ...

  3. RESTful 架构详解设计模式一种约束

    1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的 ...

  4. 基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型

    引言 在<面向服务体系架构(SOA)和业务组件(BC)的思考>(以下简称< SOA 和 BC >)一文中介绍了基于面向服务体系架构(SOA)的组件模型,本文按照"分离 ...

  5. RESTful 架构基础

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来自:唐尤华 译自:https://dzone.com/refca ...

  6. 到底什么是RestFul架构?

    场景描述:REST(Representational State Transfer)架构风格是一种世界观,把信息提升为架构中的一等公民.通过 REST 可以实现系统的高性能.可伸缩.通用性.简单性.可 ...

  7. RESTful架构和实现级别

    RESTful 架构 一. 起源 REST这个词是Roy Thomas Fielding在他2000年的博士论文中提出的. Fielding是一个非常重要的人,他是HTTP协议(1.0版和1.1版)的 ...

  8. 什么才是真正的 RESTful 架构?

    笔记: 一个资源有且仅可对应一个实际物理上的存储项,一个存储项可以对应多个资源.对于某个存储项的多步骤操作,可以尝试用多个资源分别表示,而不是用批操作? 对于第三级,学习使用返回"key:链 ...

  9. 追踪app崩溃率、事件响应链、Run Loop、线程和进程、数据表的优化、动画库、Restful架构、SDWebImage的原理...

    1.如何追踪app崩溃率,如何解决线上闪退 当 iOS设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上.crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈 跟踪信 ...

最新文章

  1. 安装windows时loading files结束就重启_Boot Camp安装windows 10
  2. python与java的猜拳游戏
  3. iOS之设置用户头像的圆角
  4. 百度首席科学家吴恩达宣布将从百度离职
  5. 直击行业痛点!端侧模型部署的成熟解决方案有了!
  6. python 格式化工具_推荐一个小而美的 Python 格式化工具
  7. GitHub 的替代品(国内版)
  8. Android5.1--电源管理之省电模式分析
  9. 线性代数知识荟萃(2)——矩阵运算理论
  10. String.getBytes()方法中的中文编码问题(转)
  11. java画图类_JAVA绘图类_Graphics
  12. PHP中smart原则,什么是smart原则(smart原则适用于哪些内容)
  13. 【python实战】top4 华氏度与摄氏度互转
  14. ElasticSearch 学习(二)—— IK 分词器和 Kibana
  15. 伦斯勒理工学院计算机科学专业强吗,伦斯勒理工学院计算机专业申请条件(附案例)...
  16. [转发]行列视(RCV)——生产数据应用系统
  17. mysql 小_mysql小脚本
  18. 美国音乐学院计算机音乐专业排名2015年,美国音乐学院排名小提琴专业排名大全(本科)...
  19. 请教税控开票数据aardio如何连接
  20. 聊聊做码农的这些年,时光飞逝岁月无痕

热门文章

  1. Linux Shell常用技巧(五)
  2. android 插补器Interpolator的使用
  3. 关于@Autowired后Spring无法注入的问题
  4. java---面试题 丑数
  5. 2017.4.20实验三:4、定义一个带有默认值参数的函数,通过传递不同个数的参数值,调用该函数。...
  6. JAVA程序设计心得001
  7. gethostbyname()函数说明
  8. 2010年十大改变电信业的小趋势
  9. 第一次离线写Blog,先上个图先
  10. json ajax