WCF中的REST架构一(REST 概述)

 注:从今天开始,我们将陆续翻译Rob Bagby的精彩文章"REST in WCF" 系列,原文链接如下:http://blogs.msdn.com/bags/archive/2008/05/28/rest-in-wcf-part-i-rest-overview.aspx

WCF中的 REST架构一(REST 概述)

不同的人似乎对REST有不同的定义,有些定义是非常严格的,而有些则是比较自由的。我倾向于认为REST架构存在于一个连续的范围里, 如图所示:

们可以认为REST背后隐含的基本理念如下:

·         越简单越好

·         Web一直是非常成功的。

·         Web是很简单的。

·         Web设计要遵循一些指导性原则,而这些原则在过去很长一段时间内都是可靠的。

·         Web 服务的设计要以 Web的方式。

尽管不同的人对 REST有不同的定义,但可以肯定的是存在一些特征来影响一个服务是否是RESTful的,或者它能不能被认为是RESTful, 或者它能否落在上面这个连续范围内的某个位置。这里列出一些(并不是全部)特征:

·         HTTP 方法(GET,PUT,POST,DELETE是主要的HTTP方法)的合理使用——HI-REST端倾向于对具体方法用于具体的情景进行严格的规定。例如一个HI-REST的实现中使用GET方法获取,DELETE方法用来删除,PUT方法用来插入或者更新,而POST方法则用来附加。而LO-REST的解决方案则可能使用POST方法做插入,更新,删除和附加操作。

·         对数据表现形式的选择——HI-REST解决方案倾向于选择标准的数据表现形式,而一些LO-REST解决方案则认为POX也是一个不错的选择。

·         对良好构造的URI的使用——HI-REST解决方案倾向于使用描述性的URI而一般情况下不使用查询字符串,而我们在一些LO-REST解决方案中可以看到对查询字符串的使用。

·         其他:有效负荷中包含指向相关信息的链接,使用合适的HTTP 响应代码。

我没有在什么是REST的基础上给出一个严格的定义,原因并不是我觉得这不重要。原因是,从WCF的角度,一个专门的定义无关紧要。WCF支持范围两端的REST架构(HI-RESTLO-REST)。事实上,在下一篇文章中,我将建立一个LO-REST的实现,同时在之后的文章中,我将演示HI-REST端的实现。

如果上面这些对你来说都没有什么意义,也没有关系,下面的文章将提供具体的实例。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值