码迷,mamicode.com
首页 > Web开发 > 详细

Restful Web Service - Http应用层的协议

时间:2015-06-08 19:50:52      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:restful

Http在这里是作为一个应用层的协议存在的。理解应用层协议至关重要,因为在很多情况下,我们把Http作为一个传输协议在使用。SOAP中Http就是作为传输协议使用的。

  • GETPOSTPUT, 还有 DELETE 是定义在资源上的操作。有了这些操作,我们无须在定义什么getXXX, createXXX.....

  • 服务端跟客户对基于Http的交互对参与其中的各种库,服务器,代理,缓存以及其他工具都具有可见性。这里所说的可见性是Http协议的至关重用的特性。

    可见性的协议可以产生如下的特征:

        缓存

         当回应(respones)相关的资源改变时,缓存的相关回应会自动失效。

        乐观的并发控制

         当并发写发生时,基于过时的资源的写请求将会被阻止。

       内容协商

         对资源,可以选择不同的表现形式。

        安全性跟幂等性

         某系Http操作可以在资源上反复操作。

    如果协议是不可见性的,不确定存在以上特征。


    为了确保Http的可见性,Http凭借如下手段达成目标:


    • 无状态的交互。Http不需要通过前面的请求或回应来确定当前请求或回应的状态。

    • 使用同一的接口方法:OPTIONS, HEAD, GET, PUT, POST, DELETE, TRACE

    • 使用MIME-like的信封格式来定义不同的资源表示

    • 使用正确的状态码来标示请求结果


安全(Safety) 跟 幂等 (idempotency) HTTP 方法

     安全 - 不会有副作用(side effect)

     幂等- 客户端的重复请求产生的影响是相同的

   Method              Safty           Idempotency

    Get                 Yes              Yes

    Head                Yes              Yes

    Options             Yes              Yes

    Put                 No               Yes

    Delete              No               Yes

    Post                No               No







Restful Web Service - Http应用层的协议

标签:restful

原文地址:http://simonwzing.blog.51cto.com/3896700/1659742

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!