《ASP.NET Web API 2框架揭秘》 试读随笔

  2000年Roy Thomas Fielding在他的博士论文中提出了REST,从此REST这种架构风格走入大家的视线,并在这几年逐渐红火起来,受到大家的广泛关注。REST的英文全称是:Representational State Transfer,中文翻译是:表述性状态转移。REST并不是一个标准,它指的是一组架构约束条件和原则。与传统Web Service采用的面向操作的架构风格不同,REST使用的是面向资源的架构风格(Resource Oriented Architecture,简称ROA)。提到资源,在此作一点补充说明。在REST中,资源用一个全局的、唯一的URL来进行标识,这些资源就是以不同形式表现的超媒体,比如:视频、音频、图片、文本。这里进一步对REST的中文含义的状态转移作个解释:借助于超媒体这种植特殊的资源呈现方式,应用状态的转换体现为浏览器中呈现资源的转换。将超媒体进一步抽象成一般意义上的资源是呈现方式,那么应用状态变成了可被呈现的状态,应用状态之间的转换就成了可被呈现的状态转移。

  因为REST是使用HTTP方法来完成典型的CRUD操作资源,所以本书在讲解REST之前,作者特意对一些相关的基础进行了讲解,可谓用心良苦。HTTP是超文本传输协议,它是TCP/IP协议簇的一部分,因此书中一开头就对TCP/IP进行讲述,并阐明它们的特点,为下文的展开作了很好地铺垫。同时在本书中,作者还对URI、URL和URN这些容易混淆的概念分别表述,这点特别有帮助。说实话,在此之前对这几个理解上不够清晰。书中还有一点,它在讲述REST进行CRUD操作时,特别提到了PUT和POST两种HTTP方法,在此之前我一直认为POST用于添加,PUT用于修改。而作者明确告诉我们,PUT在提供的资源不存在时作添加,存在时作修改,真是受益匪浅!

你可能感兴趣的:(REST)