版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、“24 Hour Service, Day & Night”RestRest框架及实践框架及实践“24 Hour Service, Day & Night”内容概要Q Rest概述Q Rest的设计概念及准则 Q Rest的优点Q Rest的服务框架Restlet2.0“24 Hour Service, Day & Night”了解HTTPQ HTTP协议的形象理解:Q 信封格式有严格标准,并不关心里面内容。客户端服务器响应请求“24 Hour Service, Day & Night”HTTP的请求Q 方法方法(method):表示客户端希望服务器如何处理该信封,有GET、POST、PUT、
2、DELETE、HEAD、OPTION、TRACE和CONNECT八个方法;Q 路径路径(path):请求链接里主机名后面部分,即信封上的地址;Q 请求报头请求报头(request headers):一组起元数据作用的键值对,类似信封上贴的标签信息。HTTP除定义了一套标准报头外,程序也可以自己定义报头;Q 实体主体实体主体(entity-body):也称作文档或表示,即信封里的文档。一般情况下,请求实体主体可为空。“24 Hour Service, Day & Night”HTTP报头Q 标准报头标准报头 Host、 User-Agent、Accept、Allow、Accept-Charset
3、、Accept-Encoding、Accept-Language、Range、If-Modified-Since、If-None-Match、Authorization Content-Type、Content-Length、Content-Range、Location、Content-MD5、Content-Location、 Content-Encoding、Content-Language、Accept-Ranges、Expires、Last-Modified、ETag、WWW-Authenticate Date、Cache-ControlQ 非标准报头非标准报头 Cookie、Set-
4、Cookie、X-WSSEQ 自定义报头自定义报头 不重新发明已存在的报头 不将应该放在实体主体里的信息放进报头 命名遵循惯例,名称以“X-”开头“24 Hour Service, Day & Night”Q 状态码(3位数字)分类 1xx:通知通知仅在与HTTP服务器沟通时使用 2xx:成功成功成功收到、理解和接受动作 200(“OK”)、201(“Created”)、204(“No Content”) 3xx:重定向重定向为完成请求,必须进一步采取措施 301(“Moved Permanently”)、303(“See Other”)、304(“Not Modified”)、307(“Te
5、mporary Redirect”) 4xx:客户端错误客户端错误请求包含错误的语法或不能完成 400(“Bad Request”)、401(“Unauthorized”)、403(“Forbidden”)、404(“Not Found”)、405(“Method Not Allowed”)、406(“Not Acceptable”) 、409(“Conflict”)、410(“Gone”) 5xx:服务器端错误服务器端错误服务器不能完成明显合理的请求 500(“Internal Server Error”)、503(“Service Unavailable”)“24 Hour Service
6、, Day & Night”URI解析Q URI(Uniform Resource Identifier):通用资源标识符,它被设计充当可用位置和持久名称。可为定位器、名称,或两者兼具,取决于标识符分配中的持久性和命名机构对其关注程度。不论在哪里都可以对URI作出一致的解释,通常没有必要刻意区分它们。Q 语法规则:大致指向一个层次空间,协议是树根,从左往右每部分是前部分的分支。 例:http:/ /site/page ? name=张三 # photo方案域名 路径 查询 片段 路径:并非一定要采用层次机构,可根据应用程序模型定制路径结构。 例: http:/del.icio.us / joh
7、n / owl 用户名 标记 查询:URI中非层次部分,通常后台数据库应用程序要使用它。 片段:用于标示下一级资源,只在客户端有效。浏览器HTML中常对应页面锚点。“24 Hour Service, Day & Night”Q “优秀的URI不会改变”Tim Berners-LeeQ 最大限度地延长URI生命周期的保障:1.独立于技术2.层次结构和集合3.末尾的斜杠和位置无关Q 最大限度降低修改URI造成的负面影响:1.永久性重定向资源2.暂时重定向资源3.不应该使用的重定向方法4.服务器端重定向“24 Hour Service, Day & Night”什么是Rest (Representa
8、tional State Transfer)Q 中文俗称:表述性状态转移,是分布式网络系统的一种设计模式,源自2000年Roy Thomas Fielding的博士论文; Q Rest不是标准规范,是一种设计模式;Q 针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可扩展性。Q Rest使用标准: HTTP URL XML/HTML/GIF/JPEG/etc. (Resource Representations)(Resource Representations) text/xml, text/html, image/gif, image/jpeg, etc. (Resource
9、 Types, MIME Types)“24 Hour Service, Day & Night”堪称堪称WebWeb架构设计领域的架构设计领域的“圣经圣经”中文版下载中文版下载“24 Hour Service, Day & Night”为什么叫Rest ResourceClienthttp:/ requirementsMaintenance schedule.客户端通过一个客户端通过一个URLURL来请求资源,返回的并不是资源,而是资源的来请求资源,返回的并不是资源,而是资源的一种特定表现形式一种特定表现形式( (该图的表现形式是该图的表现形式是HTMLHTML文件文件) )。“24 Hou
10、r Service, Day & Night”Rest的Web Service设计方式 Web ServerHTTP POSTURL 3Item(HTML/XML)HTTP GET requestURL 1HTTP responseURL to submitted ItemItemsListItemInfoAddItemHTTP responseResponse(HTML/XML doc)HTTP responseResponse(HTML/XML doc)HTTP GET requestURL 2“24 Hour Service, Day & Night”Rest资源设计Q 为每一个请求都创
11、建一个资源Q 通过URL来识别资源Q 返回的数据格式(XML): “24 Hour Service, Day & Night”Rest的设计概念及准则Q 网络上的所有事物都被抽象为资源(Resource);Q 每个资源对应一个唯一的资源标识符(resource identifier);Q 通过通用的连接器接口(generic connector interface )对资源进行操作;Q 对资源的操作都是无状态性的(Stateless);Q 对资源的各种操作都不会改变资源标识。“24 Hour Service, Day & Night”Rest的优点Q 可以利用缓存Cache来提高响应速度Q 通
12、讯本身的无状态性可以让不同的服务器处理一系列请求中的不同请求,提高服务器的扩展性Q 浏览器即可做客户端,简化软件开发的需求Q 相对于其他叠加的HTTP协议之上的机制,Rest的软件依赖性更小Q 不需要额外的资源发现机制Q 在软件技术演进中的长期的兼容性更好“24 Hour Service, Day & Night”“24 Hour Service, Day & Night”Q REST系统的轻量级解决方案,建立REST概念与Java类之间的映射。Q 不区分客户端与服务端的差异,统用一套APIs。Q 包括Restlet API和Noelios Restlet Engine(NRE)两部分,NRE
13、是对API的一种参考实现。Q 提供Servlet适配器,Restlet应用可部署到Servlet容器,并分发URI请求。Q 隐藏低层信息(原始HTTP报头),简化请求映射。Q 引入Component、Applications和VirtualHosts等概念,便利系统整合、应用部署与测试。17“24 Hour Service, Day & Night”18“24 Hour Service, Day & Night”Q 依据ROA(面向资源的架构)设计原则,对资源类和URIs的设计Q 举例社会性书签应用的Restlet架构19“24 Hour Service, Day & Night”Q 在Res
14、tlet框架中,服务器连接的标准响应由Resource的实例对象最终处理。一个Resource负责声明支持的表现方式列表和实现你想要实现的Rest方法。 GET 获取资源 PUT 更新资源 POST 添加资源 DELETE 删除资源Q 每一个请求的响应都由一个专门的Resource实例处理,所以不必担心这些方法的线程安全。 20“24 Hour Service, Day & Night”Q 正常创建Servlet应用,修改Web.xml,用Restlet的适配器接受请求21“24 Hour Service, Day & Night”Q Application的createInboundRoot方法中建立路由,将资源类与URI模板之间建立起清晰而直观的映射关系22“24 Hour Service, Day & Night”Q 实现继承自Resource的资源类,在构造方法中依据URI参数决定表现形式,并在表示方法中显示相应的内容23“24 Hour Service, Day & Night”Q 获取资源24“24 Hour Service, Day & Night”Q 添加一个资源25“24 Hour Service, Day & Night”Q 更新一个资源26“24 Hour Service, Day &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卫生间清洁检查流程手册
- 柑橘溃疡病综合防治手册
- 居家养老服药管理监督操作规范
- 小龙虾池塘高效混养技术管理规范
- 柑橘红蜘蛛螨虫用药指引
- 客户预约排班管理制度规范手册
- 字体与版式设计项目式教程(AI协同)课件
- 妇幼保健院住院楼建设设计方案
- 风电场状态检修方案
- 心理健康量表评估指南
- 2026届陕西省咸阳市高三上学期一模考试化学试卷
- 银行间业务风险隔离制度
- 初级护工考试试题及答案
- AI投标课件讲解
- 文明单位创建自查报告撰写指南
- 中南大学:有色金属行业数智化转型蓝皮书
- 2025年江苏省徐州市中考化学真题卷含答案解析
- 2025年事业单位转公务员 考试及答案
- 2026春苏教版新教材小学科学二年级下册第2单元《天空中的星体》课时练习及答案
- 安全生产标准化建设课件
- 2026年湖南中医药高等专科学校单招职业倾向性测试题库及参考答案详解1套
评论
0/150
提交评论