原文链接:
https://my.oschina.net/lovepeng/blog/734863
https://my.oschina.net/u/185335/blog/666365
https://my.oschina.net/ioslighter/blog/359924
一、
RESTful架构就是: 每一个URI代表一种资源(网站就是资源共享的东西,客户端(浏览器)访问web服务器,所获取的就叫资源。比如html,txt,json,图片,视频等等); 客户端和服务器之间,传递这种资源的某种表现层; 客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。 需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准,汲取了WWW的成功经验:无状态,以资源为中心,充分利用HTTP协议和URI协议,提供统一的接口定义,使得它作为一种设计Web服务的方法而变得流行。
二、
核心思想是通过HTTP动词直接对item进行操作。大部分的web程序都是curd型的
项目 HTTP动词 对应SQL(只是个比喻,功能很像,用这个理解很形象)
C POST CREATE
U PUT UPDATE
R GET SELECT
D DELETE DELETE
三、
客户端对服务端的请求:
URI + 操作
URI = 指定的东西,比如说要是一个系统里面的一个id=1学生信息,它就是一个资源:
http://my.oschina.net/students/1
只要是针对这个资源所做的操作,它的uri就是固定的,然后之后到底是要对这个学生做什么呢,这个就是由method里面的参数(get, post, put, delete)来决定了
这就是RESTful...
四、
SOAP是一种严格的协议,而REST却并非协议,而是一种指导原则。而我个人认为它们最大的不同点在于SOAP是基于事务,而RESTful API是基于资源,然后利用HTTP的方法(GET、POST、PUT、DELETE)来表征行为。
一个SOAP接口可能如下:
GET http://www.example.com/getBook
POST http://www.example.com/addBook
POST http://www.example.com/updateBook
POST http://www.example.com/deleteBook
而对应的RESTful接口可能如下:
GET http://www.example.com/book
POST http://www.example.com/book
PUT http://www.example.com/book
DELETE http://www.example.com/book
以上接口的作用依次为获取书籍、添加书籍、更新书籍、删除书籍,你会发现SOAP提供的接口基本是以动词加名词结尾,是基于做什么事的,而 RESTful风格的接口则是名词结尾,把服务看成资源,然后完全利用HTTP的请求方法来做行为判断。SOAP接口返回XML格式,而RESTful API没有明确应答的格式要求。因为RESTful API只针对HTTP使用设计,所以他能更好的适用于浏览器,以及js的httpRequest请求。