转自:http://blog.csdn.net/cloudcraft/article/details/10087033浏览器
资源是REST中最关键的抽象概念,它们是可以被远程访问的应用程序对象。一个资源就是一个标识单位,任何能够被访问或被远程操纵的东西均可能是一个资源。资源能够是静态的,也就是该资源的状态永远不会改变。相反,某些资源的状态可能随着时间推移呈现很大的可变性。这两种类型的资源都是有效的缓存
为了简化总体系统架构,REST架构风格包含了统一接口的概念。统一接口包含一组受限的良定义的操做,由它们进行资源的访问和操做。不论什么资源,都使用相同的接口。客户端与Hotel,Room或CreditScore等资源交互时使用的接口是同样的。统一接口独立于资源的URI,而且也不须要相似IDL的文件去描述可用的操做。ruby
RESTful HTTP的接口很是流行且广为使用。它包含标准的HTTP方法如GET,PUT和POST(浏览器使用它发出请求并提取页面)。不幸的是,不少开发者认为实现RESTful应用就是用一种直接使用HTTP的方式,这种理解是错误的。举个例子,HTTP方法的实现必需要遵循HTTP规范的,而经过GET方法建立或修改对象是不遵照HTTP规范的。架构
GET负载均衡
- - 获取表示
-
- - 变动时获取表示(缓存)
-
- 200(OK) - 表示已在响应中发出
-
- 204(无内容) - 资源有空表示
-
- 301(Moved Permanently) - 资源的URI已被更新
-
- 303(See Other) - 其余(如,负载均衡)
-
- 304(not modified)- 资源未更改(缓存)
-
- 400 (bad request)- 指代坏请求(如,参数错误)
-
- 404 (not found)- 资源不存在
-
- 406 (not acceptable)- 服务端不支持所需表示
-
- 500 (internal server error)- 通用错误响应
-
- 503 (Service Unavailable)- 服务端当前没法处理请求
DELETE
- - 删除资源
- 200 (OK)- 资源已被删除
-
- 301 (Moved Permanently)- 资源的URI已更改
- 303 (See Other)- 其余,如负载均衡
-
- 400 (bad request)- 指代坏请求t
- 404 (not found)- 资源不存在
- 409 (conflict)- 通用冲突
-
- 500 (internal server error)- 通用错误响应
- 503 (Service Unavailable)- 服务端当前没法处理请求
PUT
- - 用客户端管理的实例号建立一个资源
-
- - 经过替换的方式更新资源
-
- - 若是未被修改,则更新资源(乐观锁)
-
- 200 (OK)- 若是已存在资源被更改
- 201 (created)- 若是新资源被建立
-
- 301(Moved Permanently)- 资源的URI已更改
-
- 303 (See Other)- 其余(如,负载均衡)
-
- 400 (bad request)- 指代坏请求
-
- 404 (not found)- 资源不存在
-
- 406 (not acceptable)- 服务端不支持所需表示/p>
-
- 409 (conflict)- 通用冲突
-
- 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)
-
- 415 (unsupported media type)- 接受到的表示不受支持
-
- 500 (internal server error)- 通用错误响应
-
- 503 (Service Unavailable)- 服务当前没法处理请求
POST
- - 使用服务端管理的(自动产生)的实例号建立资源
-
- - 建立子资源
-
- - 部分更新资源
-
- - 若是没有被修改,则不过更新资源(乐观锁)
-
- 200(OK)- 若是现有资源已被更改
- 201(created)- 若是新资源被建立
- 202(accepted)- 已接受处理请求但还没有完成(异步处理)
-
- 301(Moved Permanently)- 资源的URI被更新
- 303(See Other)- 其余(如,负载均衡)
-
- 400(bad request)- 指代坏请求
- 404 (not found)- 资源不存在
- 406 (not acceptable)- 服务端不支持所需表示
- 409 (conflict)- 通用冲突
- 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)
- 415 (unsupported media type)- 接受到的表示不受支持
-
- 500 (internal server error)- 通用错误响应
- 503 (Service Unavailable)- 服务当前没法处理请求