对REST风格的理解

1. 自我理解:资源、表述性状态转换、转移:将服务对象资源化,采用资源的风格来架构系统。

即,把每个服务抽象为资源,通过对这个资源的CURD形成统一的接口。

更多情况下,体现为约定大于协议。

2.统一性:

每个资源只允许有CURD,多个资源间的定义为资源委派:ResourceAssignment,委派的资源进行CURD.

见:http://www.cnblogs.com/artech/p/3506553.html第4点,使用统一的接口。

3.标准的HTTP方法:

由于RESTful Web API采用了统一的接口,所以其成员体现为针对统一资源的操作。对于Web来说,针对资源的操作需通过HTTP方法来体现。两者结合起来,即Web API针对CRUD的操作只能接受具有对应HTTP方法的请求。

4.无状态性:

Http协议的无状态性,造就Rest的无状态性,无状态性的设计使得Rest本身显得简单而精炼。

对客户端的无状态性,也使得负载均衡更好的实施。因为只有这样集群中的每一台服务器对于每个客户端才是等效的。

5.Rest风格与SOA的区别:

个人理解,Rest是实现SOA架构的一种技术风格,SOA架构的技术实现有很多种,如WebService、WCF、Remoting、WebApi等,其中WebApi即为Rest风格。它约束了你实现它时就是对一个资源的CURD,并且只能采用HTTP协议,且无状态操作。

附:网络上一区别比较:http://blog.sina.com.cn/s/blog_62b0363101012l2z.html

REST的特性

它基于HTTP协议,是一种明确构建在客户端/服务端体系结构上的一种风格。特征如下:
1、网络上的资源都被抽象为资源,这些资源都具有唯一的统一资源标识符(URI:Uniform ResourceIdentiter),这些资源都是自我们描述的。这些资源使用HTTP内容标头类型指定。如:XML、JSON、HTML、PNG等。
2、服务的使用者通过HTTP协议的标准动作(Get、Put、Post、Delete)通过统一的接口对资源进行操作。
3、对资源进行的操作不会改变它的URI。
4、客户端、服务端之间的交互是没有状态的。由于这种无状态行,服务端不需要为每个客户端维护Context

SOA的特征
1、通过网络终结点对外提供服务。
2、粗粒度的服务接口。

REST与SOA的共同点
REST与SOA两者,虽有不同点,但是他们都作为服务的不同架构风格,具有服务的一般属性。具体如下:
1、统一的服务契约接口与服务接口
2、松散的耦合。
3、只要有权限都可以进行访问

REST与SOA的不同点
1、REST风格下的,只有一种协议,那就是HTTP。而SOA下的WCF就和多种协议了。如:TCP、HTTP、MSMQ等多种协议
2、使用方式上的不同。REST只要客户端能够模拟HTTP请求,通过标准的HTTP动作,都可以进行访问。它使用的是HTTPChannel管道,而SOA使用的管道有HTTPChannel、TcpChannel、RPC等多种。
3、REST寄宿时,虽然可以选择多种寄宿方式,但必须有应用服务器的支持。


ps: WebAPI学习入门:http://blog.youkuaiyun.com/ojlovecd/article/details/8169822

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值