答:2007年1月Ruby on Rails 1.2版正式发布。其作者DHH宣布从1.2版开始,将支持REST开发作为Rails的一个核心设计目标。对于REST开发来说,这个事件具有里程碑式的意义。从此REST开发进入了Web开发舞台的中央位置,迅速普及开来。支持REST开发的Web开发框架层出不穷,并且出版了很多这方面的图书。目前已经出版的REST开发图书中,质量最高的是O'Reilly公司出版的一系列图书。其中最棒的三本书已经有中文版上市了,它们是: a. 《RESTful Web Services中文版》 b. 《RESTful Web Services Cookbook中文版》 c. 《REST实战》(《REST in Practice》中文版)

这三本书分别面向不同的用户群: a. 《RESTful Web Services中文版》是第一本REST开发图书,详细介绍了面向资源架构的设计方法和步骤。其中的例子主要使用Ruby编程语言,适用于使用Ruby的开发者。使用其他编程语言的开发者也可以将其作为一本REST开发的入门书来阅读,因为其中介绍的设计方法和步骤对于任何编程语言来说都是通用的。 b. 《RESTful Web Services Cookbook中文版》中的内容是在REST开发过程中会遇到的一些具体问题的解决方案。其中的例子全部使用HTTP消息(请求/响应)来表达,适用于使用任何编程语言的一线开发者。这本书可以作为解决具体问题时查阅的工具书,不需要一次性全部读完,也不需要严格按照顺序来阅读。 c. 《REST实战》是至今为止REST开发方面最全面、最深入的著作(没有之一),详细地介绍了超媒体服务(即“超文本驱动”)、缓存、安全性等等其他REST开发图书中完全没有涉及或者语焉不详的内容,并且详细讨论了REST和传统的Web Services、语义网等技术之间的关系。这本书适用于希望掌握REST开发的全貌,用来做架构选型的分布式应用架构师。其中的例子使用Java和C#编程语言,适用于使用Java/.NET两大平台的开发者。

按照学习新知识的正常过程What-Way-How的顺序,我推荐初学者首先阅读《REST实战》,先从较高的架构层面理解REST究竟是什么、为何要采用REST这种架构风格/REST能带来哪些好处、如何设计系统的架构才能符合REST的要求。这本书读完后,读者对于REST开发已经打下了坚实的知识基础,然后再去阅读《RESTful Web Services Cookbook中文版》,确定一些具体问题的解决方案。在学习的过程中,《RESTful Web Services中文版》可以作为非常有益的补充阅读材料。 另外,在学习的过程中,建议最好再去阅读一下Roy Fielding推导出REST架构风格的那篇著名的博士论文,其中文版名为《架构风格与基于网络的软件架构设计》,可以在网上搜索到。 同时,仔细阅读一下HTTP 1.1协议(RFC2616)也是很有必要的。作为分布式应用的架构师,不理解HTTP协议,会带来严重的问题。REST正是设计HTTP 1.1协议背后的指导原理,而设计HTTP 1.1协议的目的正是为了实现符合REST架构风格要求的分布式应用架构。只有真正理解了REST,才有可能以最高效的方式使用HTTP协议。关于HTTP协议本身,O'Reilly公司出版的《HTTP权威指南》(《HTTP: The Definitive Guide》)即将于今年3月出版,建议将这本书与RFC2616结合在一起阅读。