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

REST面向资源架构 RESTful架构的更多相关文章

  1. RESTful架构(Representational State Transfer资源表现层状态转换)

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

  2. 论单页Web应用和RESTful架构

    单页Web应用 概述 单页Web应用并不是突然诞生的一门新技术,而是web展示的一种新的尝试.它将所有的动作局限于一个Web页面,在加载站点首页的时候就加载站点需要的JavaScript和CSS.单页 ...

  3. Web应用和RESTful架构

    Web应用和RESTful架构 单页Web应用 概述 单页Web应用并不是突然诞生的一门新技术,而是web展示的一种新的尝试.它将所有的动作局限于一个Web页面,在加载站点首页的时候就加载站点需要的J ...

  4. RESTful架构详解

    什么是REST REST全称是Representational State Transfer,中文意思是表述性状态转移,它首次出现在2000年Roy Fielding的博士论文中.Roy Fieldi ...

  5. RESTful 架构详解

    RESTful 架构详解 分类 编程技术 1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次 ...

  6. 【菜鸟】RESTful 架构详解

    RESTful 架构详解 分类 编程技术 1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次 ...

  7. 【转】Restful架构详解

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

  8. restful架构风格设计准则(二)以资源为中心,一个url

    读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! 1.REST是一种架构风格,其核心是面向资源,简化设计,降低开发的复杂性 ...

  9. “RESTful架构”相关资料收藏

    [阮一峰]理解RESTful架构 [InfoQ]深入浅出REST 用于构建 RESTful Web 服务的多层架构 REST会是SOA的未来吗? Restful 与 SOA 的关系? 回答1: 注意r ...

随机推荐

  1. Go语言资源教程:Redis介绍安装和使用

    Redis的操作和使用 在安装好redis以后,我们这里给大家讲一下redis操作的一些知识. Redis支持的数据类型:string,hash,list,set,sorted set 我们来练习一下 ...

  2. [SinGuLaRiTy] 动态规划题目复习

    [SinGuLaRiTy-1026] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [UVA 1025] A Spy in the Metr ...

  3. Java基础之对包,类,方法,变量理解(灵感)

    包,类,方法,变量 灵感乍现 感觉就如电脑上的各个大小文档一般,只不过名称不同,用法不同,功效不同,就好比你要调用网上的一个图片,这个图片可以是变量,可以是方法,可以是类.你要调用可以把他幻化成接口, ...

  4. 【转】.net算术运算导致溢出

    源地址:http://blog.csdn.net/hawksoft/article/details/70470136

  5. DevExpress ASP.NET Dev控件客户端事件 ClientSideEvents

    原文地址:http://www.cnblogs.com/allenlf/p/4171189.html

  6. Jmeter-无法启动,'findstr'不是内部或外部命令,也不是可运行的程序

    今天有一个同事的jmeter无法安装,于是帮他看了看,报以下错误: JAVA的环境变量没有配置好,于是重新配置了下环境变量后,再启动,发现还是不好,于是网上查了下, 发现要在电脑的环境变量中增加 pa ...

  7. Java foreach remove问题分析

    原文链接:http://www.cnblogs.com/chrischennx/p/9610853.html 都说ArrayList在用foreach循环的时候,不能add元素,也不能remove元素 ...

  8. Unity 使用小技巧

    本文介绍我遇到过我Unity使用小技巧,有了这些技巧,项目做起来,溜得飞起 1.快速设置相机的位置 2.固定面板

  9. Java线程同步之静态方法

    静态方法是同步方法:自动加锁,锁的对象是类对象 public static void main(String[] args) { Thread [] threadArr=new Thread[10]; ...

  10. datatables通过ajax调用渲染数据,怎么根据数据给td添加class

    html: <table id="table8" cellpadding="0" cellspacing="0" border=&qu ...