Rest框架及实践



《Rest框架及实践》由会员分享,可在线阅读,更多相关《Rest框架及实践(31页珍藏版)》请在文档大全上搜索。
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