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
REST方式:URL==Resource
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
相关文章推荐
- [置顶] 基于REST架构的Web Service
- WCF的REST与SOA两种架构的异同比较
- REST的架构设计
- golang实战使用gin+xorm搭建go语言web框架restgo详解2 框架基本架构
- 漫谈 REST 架构风格
- REST 架构风格下的WCF特性简介
- REST架构概述
- 理解本真的REST架构风格
- REST架构设计与实现
- 理解本真的REST架构风格
- 论REST架构与传统MVC
- [置顶] 基于REST架构的Web Service
- REST架构风格简介
- SOAPUI测试REST项目(九)——REST架构推理
- 基于REST架构的Web Service设计
- 对REST架构的理解及Jquery+JSON+RESTful WCF (附源码)
- REST 架构该怎么生动地理解?
- 深入探索REST(2):理解本真的REST架构风格
- 基于REST架构的Web Service设计
- 【架构】REST架构风格简洁