关于rest

来源:互联网 发布:修改linux账号权限 编辑:程序博客网 时间:2024/06/06 02:39

关于rest:

0.提出
     ·Roy Fielding博士2000年提出
          “设计良好的网络应用表现为一系列的网页,这些网页可以看作虚拟的状态机,
            用户选择这些链接导致下一网页传输到用户端展现给使用的人,而这正代表了状态的转变。”

1.概念和准则
     ·所有事物均是资源
     ·资源都有唯一的标识
     ·有通用的链接器接口对资源进行操作
     ·操作不会修改资源标识
     ·操作是无状态的

2.要点和标准
     ·资源由URI指定
     ·资源的操作对应HTTP的GET,POST,PUT,DELETE方法
     ·通过操作资源的表现形式来操作资源
     ·资源的表现形式取决于使用者

3.要求
     ·C/S架构
     ·协议无状态
     ·能够使用cache机制提高性能
     ·层次化的结构
     ·随需代码

4.状态
     ·对于连接的无状态实际上要求,经过无状态的连接,传送的信息需包含应用的所有状态。

5.方法以及应用
典型应用资源GETPUTPOSTDELETE一组资源的URI,
比如/xxx/yyy列出 URI,以及该资源组中每个资源的详细信息
(后者可选)。使用给定的一组资源替换当前整组资源。在本组资源中创建/追加一个新的资源。
该操作往往返回新资源的URL。删除 整组资源。单个资源的URI,
比如/xxx/yyy/zzz获取 指定的资源的详细信息,
格式可以自选一个合适的网络媒体类型
(比如:XML、JSON等)替换/创建 指定的资源。
并将其追加到相应的资源组中。把指定的资源当做一个资源组,
并在其下创建/追加一个新的元素,
使其隶属于当前资源。删除 指定的元素。

PUT 和 DELETE 方法是幂等方法。GET方法是安全方法 (不会对服务器端有修改,因此也是幂等的)。
☆幂等方法:没有副作用,或者若干次的请求和单词请求相同。
安全方法:没有副作用

6.举例
     ·列举所有xxx
          GET /bbb/xxx
     ·具体xxx
          GET /aaa/bbb/xxx
     ·追加xxx
          POST /aaa/xxx
          name:xxx





原创粉丝点击