标签:restful
Http在这里是作为一个应用层的协议存在的。理解应用层协议至关重要,因为在很多情况下,我们把Http作为一个传输协议在使用。SOAP中Http就是作为传输协议使用的。
GET
, POST
, PUT
, 还有 DELETE
是定义在资源上的操作。有了这些操作,我们无须在定义什么getXXX, createXXX.....
服务端跟客户对基于Http的交互对参与其中的各种库,服务器,代理,缓存以及其他工具都具有可见性。这里所说的可见性是Http协议的至关重用的特性。
可见性的协议可以产生如下的特征:
缓存
当回应(respones)相关的资源改变时,缓存的相关回应会自动失效。
乐观的并发控制
当并发写发生时,基于过时的资源的写请求将会被阻止。
内容协商
对资源,可以选择不同的表现形式。
安全性跟幂等性
某系Http操作可以在资源上反复操作。
如果协议是不可见性的,不确定存在以上特征。
为了确保Http的可见性,Http凭借如下手段达成目标:
无状态的交互。Http不需要通过前面的请求或回应来确定当前请求或回应的状态。
使用同一的接口方法:OPTIONS, HEAD, GET, PUT, POST, DELETE, TRACE
使用MIME-like的信封格式来定义不同的资源表示
使用正确的状态码来标示请求结果
安全 - 不会有副作用(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