您的位置:首页 > 运维架构 > 网站架构

REST 架构

2011-08-24 23:50 134 查看
这几天学习redmine,顺便学了一些web架构方面的东西,这方面涉及到很多知识,比如MySQL、Javascript、HTML等等。这么多东西要慢慢研究了,今天先写一个刚学到的web框架吧,这就是REST。

REST(REpresentational State Transfer),意思是“表述性状态转移”。REST架构是针对Web应用而设计的,其目的是降低开发的复杂性,提高系统的可伸缩性。REST提出了如下设计准则:

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

每个资源对应一个唯一的资源标识符(Resource Identifier)。

通过通用的连接器接口(Generic Connector Interface)对资源进行操作。

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

所有的操作都是无状态的(Stateless)。

传统的Web应用大都是B/S架构,其优点是部署非常方便,但是用户体验方面却不是很理想。为了改善这种情况,REST在原有架构的基础上增加了3个新规范:统一接口、分层系统和按需编码。具体来说,REST是基于HTTP协议的,即对资源的操作行为都是通过HTTP实现。方法有四个:Get、Post、Put和Delete,正好对应数据库操作的CRUD。由于资源和URI是一一对应的,执行这些操作的时候URI是没有变化的,这和传统的Web开发有很大区别。正是由于这一点,极大地简化了Web开发,也使得URI可以设计成更为直观的反映资源的结构,这种URI的设计被称为RESTful的URI。

我对REST和传统web框架区别的理解就是URL的路径和HTTP操作方式的不同,REST更加简单,直观。具体的对比如下所示:

普通方式:URL==Command

1 GET      /users/show/1
2 POST     /users/delete/1
3 POST     /users/add
4 POST     /users/edit/1


REST方式:URL==Resource

GET       /users/1
DELETE    /users/1
POST      /users/1
PUT       /users/1


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: