REST架构与案例分析.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ROA四个属性(特征标志) 可寻址性(addressability) 无状态性(statelessness) 连通性(connectedness) 统一接口(uniform interface) 可寻址性 资源是通过URI暴露的,URI是可以寻址的。 /search?q=陈老师 “浏览器打开google网站,搜索框输入”陈老师”,点击搜索。 服务器所能提供的每一则有价值的信息都应该作为资源来发布。 区别资源的可寻址与应用的可寻址:许多Web应用不是像Web一样可寻址的,尤其是Ajax应用。 如Gmail Web服务是可寻址的,不过调用该服务的Gmail Web应用不是可寻址的。 无状态性 状态分两种:应用状态(application state)和资源状态(resource state)。前者保存在客户端,后者保存在服务端。 每个HTTP请求是完全孤立。请求包含服务器实现该请求的全部信息,不依赖于之前某个请求。 无状态性意味着服务端不应保存应用状态,客户端应当管理自己的应用状态。 连通性 资源的表示“具有链接”的特性即连通性,它要求资源应当通过它们的表示彼此链接起来。 HTTP会话的当前状态不是作为资源状态保存在服务器上的,而是被客户端作为应用状态来跟踪的。 统一接口 四个常见操作接口: 获取资源的一个表示:HTTP GET 创建一个新资源:向一个新URI发送HTTP PUT,或向一个已有的URI发送HTTP POST 修改已有资源:向已有URI发送HTTP PUT 删除已有资源:HTTP DELETE 两个辅助操作接口: 获取的一个只包含元数据的表示:HTTP HEAD 查看一个资源支持那些HTTP方法:HTTP OPTIONS 安全性与幂等性: GET和HEAD请求是安全的 GET、HEAD、PUT和DELETE请求是幂等的 PUT与POST创建资源 创建资源时,PUT与POST的区别: 若客户端决定新资源的URI——用PUT 若服务器决定新资源的URI——用POST 在一个博客系统中使用PUT与POST的比较: 整个博客资源(/weblogs/myweblog) 博客里一片文章资源(/weblogs/myweblog/entries/1) 使用PUT与POST比较 ROA设计步骤 1.规划数据集 2.将数据集划分为资源 3.设计URI为资源命名 4.暴露一个统一接口的子集 5.设计来自客户端的表示 6.设计发给客户端的表示 7.用超链接和表单把资源与已有资源联系起来 8.考虑有哪些典型的事件经过 9.考虑可能出现的错误情况 肯德基REST案例 案例描述 顾客 与 服务员: 光临KFC,排队等候,查看食品列表,点餐,生成订单,付款,在旁等候,下一位。 服务员 与 食品加工师: 接受订单,制作食品,完成后递交食品,下一个订单。 服务员 与 顾客: 交付食品,顾客去享用食物。 * * * shc2(zjye/zjbd等dbf合成), sjszj * * * REST架构与案例分析 大纲 回顾Web的发展 HTTP 主流Web服务介绍 REST抽象概念 REST式架构 -- ROA REST案例分析 REST式服务框架-- Restlet 回顾Web的发展 HTTP(Hypertext?Transfer?Protocol) 超文本传输协议?NO,超文本转移协议! URI / URL Web1.0 – 静态(只读)仓库 Web2.0 – 双向,交互 Web3.0 – 数据化,服务化,平台化 HTML JavaScript 富客户端(Flex Silverlight…) SOAP HTTP– 把文档装入信封 客户端 服务器 响应 请求 HTTP请求 方法(method):表示客户端希望服务器如何处理该信封。有GET、POST、PUT、DELETE、HEAD、OPTION、TRACE和CONNECT八个方法。 路径(path):请求链接里主机名后面部分,即信封上的地址。 请求报头(request headers):一组起元数据作用的键值对,类似信封上贴的标签信息。HTTP除定义了一套标准报头外,程序也可以自己定义报头。 实体主体(entity-body):也称作文档或表示,即信封里的文档。一般情况下,请求实体主体可为空。 HTTP响应 响应代码(response code):通知客户端请求成功或失败,以及如何处理信封里的内容。 响应报头(response header):类似请求报头。 实体主体(entity-body

文档评论(0)

勤能补拙 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档