REST架构风格

来源:互联网 发布:ubuntu引导windows问题 编辑:程序博客网 时间:2024/05/21 09:35

1. REST概念介绍

   REST是一种架构风格,由一组相互协作的架构约束来定义。可以参考下Fielding博士的论文《架构风格与基于网络的软件架构设计》

1.1 REST的5个关键词

  • 资源(Resource) 一种看待服务器的方式,将服务器看作是由很多离散的资源组成,由一个或多个URI来标识。
  • 资源的表述(Representation)一段对于资源在某个特定时刻的状态的描述,资源的表述可以有多种格式:HTML/XML/JSON/纯文本等,也可以通过协商机制来确定。
  • 状态转移(State Transfer)  ???(通过转移和操作资源的表述,来间接实现操作资源的目的)
  • 统一接口(Uniform Interface) HTTP定义了操作资源的统一接口
  • 超文本驱动(Hypertext Driven) 从面向服务的角度看,超媒体定义了服务器所提供的服务的协议。

1.2 REST架构风格的主要特征

  • 可寻址性(Addressability)
  • 无状态性(Statelessness)
  • 连通性(Connectionedness)
  • 统一接口(Uniform Interface)
  • 面向资源(Resource Oriented)
  • 超文本驱动(Hypertext Driven)
  • 松耦合(Loosely Coupled)

2. REST相关资料及学习方式

2.1 REST相关资料

  • 深入浅出REST http://www.infoq.com/cn/articles/rest-introduction
  • 解答关于REST的10点疑惑 http://www.infoq.com/cn/articles/tilkov-rest-doubts
  • 面向资源的架构:REST的另一面 http://www.infoq.com/cn/articles/roa-rest-of-rest
  • From SOA to REST :Designing and Implementing RESTful Services http://dret.net/netdret/docs/soa-rest-www2009/
  • SOA with REST 


2.2 REST书籍

    目前比较好的关于rest书籍为

  • RESTful web services中文版 :详细介绍了面向资源架构的设计方法和步骤,其中的例子主要使用Ruby编程语言。可以将其作为一本REST开放的入门书来阅读。
  • RESTful web services Cookbook中文版:介绍了在REST开放过程中会遇到的一些具体问题的解决方案,其中的例子都是使用HTTP消息来表达。可以作为解决具体问题时查阅的工具书。
  • REST实战 (Rest in practice):目前最全面、最深入的著作,详细介绍了REST和传统的WebServices、语义网等技术之间的关系。适用于希望掌握REST开放的全貌,用来做架构选型的分布式应用架构师,其中的例子是使用Java和C#编程语言。

2.3  REST学习方式

   按照学习新知识的正常过程What-Way-How的顺序

    (1) 先阅读《REST实战》,先从较高的架构层面理解REST是什么、为什么要采用REST这种风格/REST能带来什么好处、如何设计系统的架构才能符合REST的要求。

    (2) 然后阅读《RESTful web services cookbook》,确定一些具体问题的解决方案。《RESTful web servies》也可以参考下。

    (3) 在学习的过程中要阅读下Roy Fielding写的REST架构风格的博士论文《架构风格与基于网络的软件架构设计》。

    (4) Http协议很重要,可以看下《HTTP权威指南》mini版。


 

原创粉丝点击