RESTful规范

1.REST风格

    我们在浏览器中能看到的每个网站,都是一个web服务。那么我们在提供每个web服务的时候,
  都需要前后端交互,前后端交互就一定有一些实现方案,我们通常叫web服务交互方案。

  目前主流的三种web服务交互方案:

    -- REST ( Representational State Transfer)表述性状态转移

    -- SOAP (Simple Object Access Protocol)  简单的对象访问协议

    -- XML-RPC (XML Remote Procedure Call)基于XML的远程过程调用

  XML-RPC是通过XML将调用函数封装,并使用HTTP协议作为传送机制。

  后来在新的功能不断被引入下,这个标准慢慢演变成为今日的SOAP协定。

  SOAP服务则是以本身所定义的操作集,来访问网络上的资源。

  SOAP也是基于XML的,但是它不只限于HTTP协议的传输,包括TCP协议,UDP协议都可以传输。

  REST是Roy Thomas Fielding博士于2000年在他的博士论文里提出来的。

  REST相比SOAP更加简洁,性能和开发效率也有突出的优势。

  我们今天主要说一下这个REST,现在越来越多的web服务开始采用REST风格设计和实现。

  例如,amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。

  我们接下来要学的框架也是遵循REST风格的,那么我们来看下它到底是个什么样的风格,

  了解了它是什么后,我们看下它的优点是什么,我们为什么用它。        
web服务交互

2.关于rest的几个定义

  • 资源:网页中只要是可以被引用的都叫资源;可以是实体,也可以是抽象概念;
  • 引用的资源都要有一个标识,在web中唯一标识就是uri;
  •  
  • URL:统一资源定位符;用来描述我们资源地址的
  • URI:统一资源标志符;进行标识(身份证)
  •  
  • 统一资源接口:只设计一个url,用cbv的方式,对资源进行不同操作,也要遵循http请求方法的语义;
  • 资源的表述:资源的展现形式,就是数据,只不过在传输的时候被转化了,
  • 资源的状态:资源的表述呈现在页面上,就是我们说的资源状态;
  •  
  • 状态转移:类似"下一页"之类的链接起的就是这种推进状态的作用——指引你如何从当前状态进入下一个可能的状态;
  • 1)在web中,只要有被引用的必要都叫资源。
    (2)每个URI代表一个资源,独一无二的。
    (3)客户端通过HTTP的方法,对服务器端资源进行操作;
     (4)客户端和服务器之间,传递这种资源的某种表现层;
    (5)通过超链接的指引,实现"表现层状态转移"。
    REST风格的特点

3.RESTful

  • 前提:一个架构符合REST的约束条件和原则,就称为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
  • 五.在URL中的过滤条件https://www.bootcss.com/v1/mycss?page=3
  • 六.尽量使用https
  • 七.响应时设置状态码,成功的,失败的
  • 八.返回值:
    • GET请求   返回查到所有或单条数据
    • POST请求  返回新增的数据
    • PUT请求  返回更新数据
    • PATCH请求 局部更新 返回更新整条数据
    • DELETE请求  返回值为空
  • 九.返回错误信息
原文地址:https://www.cnblogs.com/0627zhou/p/9964507.html