基于RESTful的架构(二)

1.   什么是RESTful

REST这个术语,是Roy Fielding Ph.D.文中提出来的,全称是“Representational State Transfer.REST描述了这么一个架构标准http 协议中的 get, post, put,delete 来请求和网络上的资源。

REST中,资源的意思就是一个基于URL,客户端可以通过 http协议来和进行交。这个资源可以用各种形式来展给客户端,如 HTMLXMLRSS依赖于客户端的用方。并不Rails开发那,用REST,一个 url 不是指定一个 model 或者 action, 一个 url 仅仅是资源的本

REST架构遵循了CRUD原则,CRUD原则对于资源只需要四种行为:Create(创建)Read(读取)Update(更新)Delete(删除)就可以完成对其操作和处理。这四个操作是一种原子操作,即一种无法再分的操作,通过它们可以构造复杂的操作过程,正如数学上四则运算是数字的最基本的运算一样。

REST架构让人们真正理解我们的网络协议HTTP本来面貌,对资源的操作包括获取、创建、修改和删除资源的操作正好对应HTTP协议提供的GETPOSTPUTDelete方法,因此RESTHTTP对一个URL资源的操作限制在GETPOSTPUTDelete这四个之内。这种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

 

REST的设计准则

REST架构是针对Web应用而设计的,其目的是为了降低开发的复杂性,提高系统的可伸缩性。

REST提出了如下设计准则:

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

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

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

·对资源的各种操作不会改变资源标识符;

·所有的操作都是无状态的(stateless)

 

使用REST架构

对于开发人员来说,关心的是如何使用REST架构,这里我们来简单谈谈这个问题。REST不仅仅是一种崭新的架构,它带来的更是一种全新的Web开发过程中的思维方式:通过URL来设计系统结构。REST是一套简单的设计原则、一种架构风格(或模式),不是一种具体的标准或架构。REST有很多成功的使用案例,著名的DeliciousFlickr都提供基于REST风格的API使用,客户端调用也极其方便,参考第四章基于JAX-RS的具体实现,从中可以看出REST是多么的简单易用。

 

你可能感兴趣的:(设计模式,网络协议,REST,网络应用,Rails)