概述
Restful是什么
REST的全称是Representational State Transfer,网上翻译为是“表现层状态转化”,“表述性状态转移”等。Restful是一种流行的互联网软件架构,是一组约束条件和规则。
Restful不是什么
Restful不是标准,没有标准的规范。
Restful有什么用
定义了一组规则规定述客户端如何操作服务器资源,并“表现”
资源
Representational State Transfer的对象是资源,要表现的对象是“资源”,资源在网络上就是可以被引用的实体,例如:
- 一段音频
- 一段文本
- 一个服务
在网络上使用URI(Uniform Resource Identifie)唯一标示一个资源,例如: - https://github.com/git
- http://lgl88911.oschina.io/2018/04/04/Zephyr-Shell%E5%88%86%E6%9E%90/shell.png
表现形式(Representation)
资源携带一组信息或者提供一些服务,对于相同的信息或者服务可以有很多种表现形式(Representational),例如一段音频,可以是文本可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现,甚至可以采用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现。
状态转移(State Transfer)
当客户端和服务器发生交互时有状态变化(State Transfer),CS结构下状态转移由客户端发起,但客户端不能保存状态, 所有的状态都保存在服务器端。
客户端接口
- GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
- DELETE(DELETE):从服务器删除资源。
参考
http://www.ruanyifeng.com/blog/2011/09/restful
http://www.runoob.com/w3cnote/restful-architecture.html
http://www.ruanyifeng.com/blog/2014/05/restful_api.html
http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm