restful风格的定义



     REST(Representational State Transfer)”,即表述性状态转移,是有意唤起人们对于一个良好设计的 Web 应用应该如何运转的印象:一个由网页组成的网络(一个虚拟状态机),用户通过选择链接(状态转移)在应用中前进,导致下一个页面(代表应用的下一个状态)被转移给用户,并且呈现给他们,以便他们使用。而这里的“表述性”是指转移给用户的“下一个页面”可能是常见的HTML 格式的页面,也可能是 XML 格式的页面,或者不是页面,而是获得了某些数据和服务,这些就是表述。REST 针对 Web 应用提出了几个主要的设计准则:

(1)、网络上的所有事物都被抽象为资源(resource);

(2)、每个资源对应一个唯一的资源标识符(resource identifier);

(3)、通过通用的连接器接口(generic connector interface)对资源进行操作;

(4)、对资源的各种操作不会改变资源标识符;

(5)、所有的操作都是无状态的(stateless)。

 其中第(2)点中的“资源标识符”运用到 Web 上是指 URI,第(3)点中的“通用的连接器接口”  运用到 Web 上是指 HTTP 协议中的 GET、POST、PUT、DELETE、HEAD 等标准动作,这些动作在整个 Web 上都是一致的,相同的名称,相同的用法,这很简便。而不是像 SOAP 协议那样,由应用程序的编写者来确定服务在 Web 上各种动作的名称和用法,这不通用。 需要特别指出的是,作为一组设计原则,REST 是非常通用的。虽然当前对REST 理论的运用还仅限于 Web 上,但具体来讲,它并不限定于 Web。REST 是一
组设计架构的原则,一种风格和蓝图,这个蓝图可以用于其他非 Web 应用设计的参考,所以 REST 不依赖于 HTTP 机制或 URI 结构。但因为本课题讨论的是 Web服务,所以特地用 Web 相关技术来讲解 REST 的具体实现,本课题后面探讨的如何用 HTTP 和 URI 来实现 REST 也是基于这个想法的。

猜你喜欢

转载自blog.csdn.net/sqsfjsjlpf/article/details/54892385