restful规范

RESTful规范:
1,主流的三种web服务交互方案:
REST-- Representational State Transfer)表述性状态转移
SOAP--(Simple Object Access Protocol) 简单的对象访问协议
XML-RPC--(XML Remote Procedure Call)基于XML的远程过程调用
XML-RPC--是通过XML将调用的函数封装,并使用HTTP协议座位传送机制
之后演变成SOAP协定.
2,REST--资源状态转移
3,资源一定要有一个标识,web中的唯一标识是URI
4,URL和URI的区别:
(1),URI是统一资源标志符,URL是统一资源定位符.
(2),URI是给我们的资源进行标识的URL,是描述我们资源地址的
(3)URL可以说是URI的子集,通过定位的方式实现的URI
5,统一资源接口:
根据HTTP请求方式的不同,对资源进行不同的操作,这个就是是统一资源接口
我们一定要遵循HTTP请求方法的语义,也就是说POST请求就在新增数据等
6,资源的表述:
资源的表述就是资源的展现形式,我们客户端和服务端传输的都是资源的表述,
而不是资源本身。
例如文本资源可以采用html、xml、json等格式,图片可以使用PNG或JPG展现出来。
7,状态转移:
我们在看页面的时候,从当前资源的表述(也可以说状态或者表现层)
会跳转到其他的资源状态。
服务端通过超媒体告诉客户端当前状态有哪些后续状态可以进入。
这些类似"下一页"之类的链接起的就是这种推进状态的作用——
指引你如何从当前状态进入下一个可能的状态。即页面的跳转
8,REST特点总结:
(1),在web中,只要有被引用的必要,都叫做资源
(2),每个URL代表一个资源,独一无二的
(3),客户端通过HTTP方法,对服务端资源进行操作
(4),客户端和服务器之间,传递这种资源的某种表现层;
(5),通过超链接的指引,实现表现层状态转移

9,RESTful:
如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。
一种软件的架构风格,设计风格, 为客户端和服务端的交互提供一组设计原则和约束条件。

10,RESTful规范:
一,面向资源编程:
每个url代表一种资源,URL中尽量不要用动词,要用名词.
二,根据method(方法)不同,进行不同的操作
GET/POST/PUT/DELETE/PATCH
三,在URL中体现版本
https://www.bootcss.com/v1/mycss
   https://v1.bootcss.com/mycss
四,在url中体现是否是API:
https://www.bootcss.com/api/mycss
https://api.bootcss.com/mycss
五,在URL中的过滤条件:
https://www.bootcss.com/v1/mycss?page=3
六,尽量使用HTTPS
https://www.bootcss.com/v1/mycss
七,响应式设置状态码
1,以1开头的状态码,信息,服务器收到请求,需要请求者继续执行操作
2,以2开头的状态码,成功,操作被成功接受并处理
3,以3开头的状态码,重定向,需要进一步的操作以完成请求
4,以4开头的状态码,客户端错误,请求包含语法错误或无法完成请求
5,以5开头的状态码,服务器错误,服务器在处理请求的过程中发生了错误
八,返回值:
GET请求 返回查到所有或单条数据
POST请求 返回新增的数据
PUT请求 返回更新的数据
PATCH请求 局部更新 返回更新整条数据
DELETE请求 返回值为空
九,返回错误信息
返回值携带错误信息
十,Hypermedia API
如果遇到需要跳转的情况 携带调转接口的URL
   ret = {
code: 1000,
data:{
id:1,
name:'小强',
depart_id:http://www.luffycity.com/api/v1/depart/8/
}
}




posted @ 2018-11-14 22:49  大海无量,苦海无边  阅读(39)  评论(0编辑  收藏  举报