• 【10月19日】REST架构模式


    什么是REST

    • REST (Representational State Transfer):表述性状态转移,分布式超媒体软件的一种架构风格。
    • 一套简单的设计原则、一种架构风格(或模式),不是一种具体的标准或框架。
    • 基于使用HTTP、URI等现有的广泛流行的协议和标准,并由几个核心抽象概念支撑。
    • 对Web的本质回归:一种真实描述Web的方式,不被特定时期的特定应用程序概念歪曲。
    • 提供区分良好实践和糟糕实践的途径:判断特定实践是否与Web架构一致。

    资源

    • URI规范指出:

      资源可以是任何有标示的东西;

      并非所有的资源都是通过网络能够获取的。

    • 任何事物,只要有被引用的必要,就是一个资源(resource)。它可以是一个事物,也可以是一个抽象的概念。

    • 通常一个资源是某个可以存放在计算机上并体现为比特流的事物。在Web中,可以这样认为----资源是URI标示的东西。


    表示

    • 资源和表示不是一码事。Web上获取的不是资源,而是资源的表示。
    • 对于给定的资源,可以有很多不同的表示。

    状态

    • 在客户-服务端模式下,让客户端维护应用状态,并确保服务端向服务器发出的请求都包含理解请求所需的全部信息,而服务器不应该维护该状态。
    • REST式解决方案是使用URI。每个概念上独立的资源都可使用单个URI,不希望通过Cookie或隐藏在有效负载的参数来提供额外信息。

    REST约束和风格

    • URI表示资源
    • CURD操作
    • 状态表述性转移
    • 无状态服务
    • HTTP状态码
    • Cache控制
    • Proxy

    Rest核心是架构以资源为核心的模型


    REST关键原则

    • 为所有资源定义ID
    • 将所有资源链接在一起
    • 使用标准方法
    • 资源多重表示
    • 无状态通信

    为所有资源定义ID

    • 无论Web中的资源代表单一数据项、数据项集合、虚拟亦或实际的对象还是计算结果等,都可以使用URI标识。

    使用标准方法

    • 常用的HTTP标准方式是GET/POST。除此之外,标准方法集合中还有PUT、DELETE、HEAD、OPTIONS等八种方法

    RESTful

    • RESTful:符合REST约束风格和原则的应用程序或设计就是RESTful

      举例:

      /emp/1 HTTP GET 查询id=1的emp

      /emp/1 HTTP DELETE 删除id=1的emp

      /emp/1 HTTP PUT 更新emp

      /emp/1 HTTP POST 新增emp


    Token认证机制

    • RESTful提供的API是无状态的,即下一次调用请求与当前的调用请求时完全无关,但这就无法保证系统资源的安全性。
    • Token机制(令牌机制)就是用来解决无状态和安全性之间的矛盾。其实现原理如下:
      • 用户发送用户名和密码(一般密码加密),请求验证通过;
      • 服务器判断用户名和密码是否正确。
      • 服务器验证通过,返回Token及过期时间
      • 所有请求携带返回的Token在过期时间内即可通过Token验证并正常使用RESTful API(服务器验证Token过期,则无法正常使用RESTful API,需要重新请求验证)
  • 相关阅读:
    react-native项目之样式总结
    charles捕获手机端请求数据
    git常用命令常用场景
    window.open新打开窗口与新开标签页
    IE浏览器兼容性模式
    atom编辑器社区插件推荐
    操作linux命令
    java.lang.OutOfMemoryError处理错误
    SQLServer中ISNULL、NULLIF和CONVERT函数
    plsql 查询结果窗口 不正常
  • 原文地址:https://www.cnblogs.com/tantanli/p/13840889.html
Copyright © 2020-2023  润新知