• RESTful规范


    RESTful规范

     

    web服务交互

      我们在浏览器中能看到的每个网站,都是一个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风格的,那么我们来看下它到底是个什么样的风格,
    
      了解了它是什么后,我们看下它的优点是什么,我们为什么用它。
    

    REST风格

    资源 网页中能看到的都是资源
        URL 统一资源定位符
        URI 统一资源标识符
    
    统一资源接口
        对资源的操作根据HTTP请求方式的不同来进行不同的操作
        遵循HTTP请求方式的语义
    
    前后端传输的是资源的表述
    展现的是资源的转态
    

    凡是遵循TEST风格实现的前后端交互都叫RESTful架构

    核心思想

    面向资源去编程  url中尽量名词不要动词
    根据HTTP请求方式的不同对资源进行不同的
    

    在url中体现的

    体现版本
        https://v3.bootcss.com/
        https://.bootcss.com/v3
    
    体现是否是API
         https://v3.bootcss.com/api
    
    有过滤条件
         https://v3.bootcss.com/course?page=1
    
    尽量用https
    

    在返回值中

    携带状态码
        1**   信息,服务器收到请求,需要请求者继续执行操作
       2**  成功,操作被成功接收并处理
       3**  重定向,需要进一步的操作以完成请求
       4**  客户端错误,请求包含语法错误或无法完成请求
       5**  服务器错误,服务器在处理请求的过程中发生了错误
    
    返回值
        get  返回查看的所有或者单条数据
        post 返回新增的这条数据
        put/patch 返回更新的这条数据 
        delete 返回值空
    
    携带错误信息
    
    携带超链接
        在不分离的项目用的多
      ret = {
            code: 1000,
            data:{
                id:1,
                name:'小强',
                depart_id:http://www.luffycity.com/api/v1/depart/8/
            }
        }
  • 相关阅读:
    TCGA下载神器--TCGAbiolinks
    perl模块终极解决方案--转载
    Web前端优化
    关于CDN
    手写RateLimiter
    互联网高并发之限流
    互联网高并发之Hystrix实现服务隔离和降级
    关于Hystrix
    Apollo原理
    SpringBoot2.0之整合Apollo
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/9958670.html
Copyright © 2020-2023  润新知