zoukankan      html  css  js  c++  java
  • 幂等校验

    一个HTTP方法是幂等的,指的是同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的。

     

    其实幂等就是一个操作或者接口,不管你调多少次,每次执行的结果都跟第一次一样。

     

    比如数学上,1这个数字就是幂等的,无论你用什么数字跟1乘,乘多少次,最后的结果都跟第一次是一样的。

    试想这样的一种场景:在电商平台上支付后,因为网络原因导致系统提示你支付失败,于是你又重新付款了一次,等完成后检查网银发现被系统扣了两次款,这是一种什么样的体验?

    造成上述问题的原因可能有很多,比如第一次付款时实际支付成功,但是信息返回时网络中断导致系统误判;又比如第一次付款的确失败了,但第二次付款时发生意外,导致支付请求被重复发送等等。在一次支付的过程中,每个环节都有可能会发生问题,我们要如何规避这类问题引发的分险?

    幂等性是解决这类问题的方案之一,所以在电商,银行,互联网金融等对数据准确性要求很高的领域中,这一特性具有十分重要的地位。

    所以对于一些重要的接口或者操作,我们是要求后台保证其幂等性的。因为客户端可能有重试机制,另外中间人攻击可能会进行请求的重放,这些都有可能导致接口被多次调用,像上面的扣款操作,如果接口没有实现幂等,那么后果是相当不堪设想的。

    如何测试?

    • 首先在需求分析的时候我们要有能力识别出需要实现幂等的接口,提前要求开发同学去实现;
    • 测试过程中由于幂等的特性是多次调用的结果相同,那么可以用自动化的方式去反复调用,这样会比较高效;
    • 异常情况需要考虑到,比如除了第一次调用之外的调用是否有性能问题,稍微修改一些无关紧要的参数是否会破坏幂等之类的;
  • 相关阅读:
    Python学习资料
    异常
    I/O
    Python3+迭代器与生成器
    python标准数据类型
    人工智能、机器学习和深度学习
    原地排序和复制排序
    序列化和Json
    登陆加密小程序
    hashlib模块加密用法
  • 原文地址:https://www.cnblogs.com/by170628/p/14543568.html
Copyright © 2011-2022 走看看