现在的位置: 首页 > 综合 > 正文

1.REST的基本概念

2013年08月23日 ⁄ 综合 ⁄ 共 993字 ⁄ 字号 评论关闭
    这两个星期抽空看了REST相关的资料,对REST有了大概的了解。还记得前一段时间看Roy Fielding的那篇著名的博士论文时的郁闷,里面充满了大量的学术专业词汇,看的真叫郁闷。又一次的证实了自己不属于“研究性”的那种人 :(
    我的理解:REST的提出主要是为了满足应用程序可扩展性的需求,在服务提供方和使用方划一条坚实的红线,完全隐藏服务提供方的实现细节。服务提供方告诉使用方,你按照我提供的格式来发请求调用,我保证我所提供的一切都是可靠、可依赖、可保证性能的。其实在目前的绝大部分的Web程序中,特别是Yahoo,Google等大型的网络服务型公司,所提供的服务或多或少都满足REST的特性,只是并不严格罢了。
    和AJAX一样,REST不是一种具体的技术,而是一种思维方式,一种构建服务的指导思想。它描述了在这种思维方式的引导下该如何去设计和实现具体的任务。REST本质上和OO,SOA等性质相同,它是指导思想和原则,具体的实现则可千差万别。
    REST的主要思想:
  1. 把所有要提供的事物都看做资源(resource)
  2. 每一个资源都有自己独立的标识符(URI)
  3. 每一个资源都可以有多种表现的方式(Multiple representations)
  4. 只能通过4个动作对资源进行操作(GET  PUT  POST  DELETE)
  5. 访问资源是无状态的(Stateless)
  6. 资源之间通过Link互相关联

    目前主流的程序设计是以名词+动词来构造整个系统,REST的思维则是用动词+名词来构造,有点回到面向过程的设计思路中。嗯....世界是螺旋式发展的,又一次得到了验证。

一些REST的文章,很nice

  • http://en.wikipedia.org/wiki/Representational_State_Transfer
  • http://www.infoq.com/articles/rest-introduction  很通俗的介绍了REST和HTTP协议下的REST实现,强烈推荐
  • http://www.xfront.com/REST-Web-Services.html  使用REST思想构造一个Web Service的实例,很nice
  • http://www.ibm.com/developerworks/cn/web/wa-ajaxarch/   IBM的一篇介绍REST和AJAX的文章,也还算不错

抱歉!评论已关闭.