zoukankan      html  css  js  c++  java
  • RESTful

    RESTful基本特点

    1. 无状态 比如websocket这种连接,断开连接的是有状态的
    2. 面向资源,没有动词
    3. http动词 get 查看, post 创建, put 更新, patch 部分更新,delete 删除.
    4. 超媒体即应用状态引擎

    好用:面向对象(资源),如增删改查.
    不好用: 面向过程,如登陆.

    restful6个约束和最佳实践

    1. client-server
      前后端分离

    2. 无状态
      请求独立(jwt)

    3.分层系统
    代码分层

    1. 统一接口(核心)
      数据统一
      api自发现

    5.可缓存

    6.按需代码,不重要
    绝大部分后端都不会100%满足这6个约束.
    restful是一种架构风格,但它绝不是一种代码标准,实现业务是王道.

    restful成熟度模型

    level0
    只要有api
    通过http传输

    level1
    面向资源

    level2
    http动词

    level3
    超媒体即自我发现引擎
    api自我发现
    超媒体=多媒体+超文本
    好处:前端程序员不用把url写入配置文件,不用hard code url字符串,不用再代码中做url的拼接.
    用不用restful,要根据项目的实际情况决定,用哪个成熟的要看业务需求.

    http HEAD请求
    HEAD与GET类似,但是没有响应主题
    检查缓存
    探测资源是否存在

    http方法的安全性和幂等性
    安全性

    1. 不会产生副作用,不会改变当前资源状态.
    2. 包括那些可以被缓存对资源无损加载的方法
      比如:get请求head请求

    幂等性

    1. 同样的操作不管经历多少次调用,返回的数据,产生的效果都是一样的

    PUT VS PATCH
    PUT: 对某个资源所有的字段进行更新
    Patch: 对某个资源所选的某几个字段部分更新.

  • 相关阅读:
    CJB的大作
    OI省选算法汇总
    bzoj1078【SCOI2008】斜堆
    zrt中文题
    bzoj4726【POI2017】Sabota?
    bzoj4591 【Shoi2015】超能粒子炮·改
    bzoj2086【Poi2010】Blocks
    bzoj2091【Poi2010】The Minima Game
    bzoj2038小z的袜子
    bzoj4282慎二的随机数列
  • 原文地址:https://www.cnblogs.com/wangzhe66369/p/15322293.html
Copyright © 2011-2022 走看看