1.REST的架构设计web
表明性状态传输(Representational State Transfer,REST)在Web领域已经获得了普遍的接受,是基于SOAP和Web服务描述语言(Web Services Description Language,WSDL)的Web服务的更为简单的替代方法。json
REST(Representational State Transfer)是一种轻量级的Web Service架构风格,其实现和操做明显比SOAP和XML-RPC更为简洁,能够彻底经过HTTP协议实现,还能够利用缓存Cache来提升响应速 度,性能、效率和易用性上都优于SOAP协议。
REST架构遵循了CRUD原则,CRUD原则对于资源只须要四种行 为:Create(建立)、Read(读取)、Update(更新)和Delete(删除)就能够完成对其操做和处理。这四个操做是一种原子操做,即一种 没法再分的操做,经过它们能够构造复杂的操做过程,正如数学上四则运算是数字的最基本的运算同样。
REST架构让人们真正理解咱们的网络协议HTTP原本面貌,对资源的操做包括获取、建立、修改和删除资源的操做正好对应HTTP协议提供的GET、POST、PUT和DELETE方法,因 此REST把HTTP对一个URL资源的操做限制在GET、POST、PUT和DELETE这四个以内。这种针对网络应用的设计和开发方式,能够下降开发 的复杂性,提升系统的可伸缩性
缓存
2.REST的设计准则
REST架构是针对Web应用而设计的,其目的是为了下降开发的复杂性,提升系统的可伸缩性。REST提出了以下设计准则:
网络上的全部事物都被抽象为资源(resource);
每一个资源对应一个惟一的资源标识符(resource identifier);
经过通用的链接器接口(generic connector interface)对资源进行操做;
对资源的各类操做不会改变资源标识符;
全部的操做都是无状态的(stateless)。
使用REST架构
REST不单单是一种崭新的架构,它带来的更是一种全新的Web开发过 程中的思惟方式:经过URL来设计系统结构。REST是一套简单的设计原则、一种架构风格(或模式),不是一种具体的标准或架构。REST有不少成功的使 用案例,著名的Delicious和Flickr都提供基于REST风格的API使用,客户端调用也极其方便。
什么是rest? 什么是restful? 傻傻分不清楚。。
一.概念和区别:
1.关于rest
rest :representational state transfer 表述性状态转移,是一种架构风格。
rest原则:
<1>网络上的全部事物都被抽象为资源
<2> 每一个资源都有一个惟一的资源标识符
<3> 同一个资源具备多种表现形式(xml,json等)
<4> 对资源的各类操做不会改变资源标识符
<5> 全部的操做都是无状态的
2.关于restful
restful: 遵照了rest 原则 的web服务
理解:rest与restful相比,多了一个ful,就英语层面来讲是一个形容词,restful翻译为中文为: “rest式的”
那么是rest式的什么呢?就是rest式的应用,rest风格的web服务也是rest式的应用,rest式的web服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构)。
3.二者的联系与区别
restful是由rest派生出来的。
二.restful用法:
在Restful以前的操做:
http://127.0.0.1/user/
query/1 GET 根据用户id查询用户数据
http://127.0.0.1/user/
save POST 新增用户
http://127.0.0.1/user/
update POST 修改用户信息
http://127.0.0.1/user/
delete GET/POST 删除用户信息
RESTful用法: http://127.0.0.1/user/1 GET 根据用户id查询用户数据 http://127.0.0.1/user POST 新增用户 http://127.0.0.1/user PUT 修改用户信息 http://127.0.0.1/user DELETE 删除用户信息 以前的你每次请求的接口或者地址,都在作描述,例如查询的时候用了query,新增的时候用了save,其实彻底没有这个必要,我使用了get请求,就是查询.使用post请求,就是新增的请求,个人意图很明显,彻底没有必要作描述,这就是为何有了restful