RESTful的理解

原文链接:

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请求。

posted @ 2017-08-16 16:03  kelly_one  阅读(189)  评论(0编辑  收藏  举报