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

RESTful架构浅谈

2015-12-04 14:40 411 查看
REST不是一种具体的技术架构或者框架,只是在HTTP协议下大家约定俗称的一套准则,就好比大家约定俗称有一百万元就是属于百万富翁,那么如果现在拥有了一百万那么你就自动被大家认为是百万富翁;

  其全称为Representational State Transfer,直接翻译为表现层状态转换;什么是表现层,说白了就是用户直接看到的view,而view从哪里来呢,都是从服务器上请求的资源,这里所说的资源可以为任何数据,比如一张图片,一段视频,一个.html文件,一个entity记录等;进而可以理解为服务器端资源的状态转换,资源的状态转换可以归纳为:

  1. 创建;

  2. 查询;

  3. 更新;

  4. 删除;

所以对应具体的开发而言,就是每个HTTP协议来讲,每个URI对应一个唯一的资源;而POST, GET, PUT, DELETE操作分别对应以上提到的状态转换;最终实现大家约定比较标准的API接口;

  来发实例

现有一个数据库表user;想实现符合RESTful规则的API;即对该表的CRUD操作;

则最终的技术输出应该是四个HTTP接口:

POST http://hostname:port/MyProject/restful/user 
{user}//body为user的json形式

GET http://hostname:port/MyProject/restful/user/{id} 
PUT http://hostname:port/MyProject/restful/user 
{user}//body为user的json形式

DELETE http://hostname:port/MyProject/restful/user/{id}[/code] 
说明:示例中的{id}为请求携带的参数;该参数可以为任何类型;依请求而定;以上四个API是最标准的四个,当然可以根据需求扩展接口,但是改变的应当只是参数而已;

  基于以上阐述,总结如下:

REST四个基本原则:

1. 使用HTTP动词:GET POST PUT DELETE;

2. 无状态连接,服务器端不应保存过多上下文状态,即每个请求都是独立的;

3. 为每个资源设置URI;

4. 通过XML JSON进行数据传递;

实现上述原则的架构即可称为RESTFul架构。

REST的优势:

1. 互联网环境下,任何应用的架构和API可以被快速理解;

2. 分布式环境下,任何请求都可以被发送到任意服务器;

3. 异构环境下,任何资源的访问和使用方式都统一;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  架构 http协议