zoukankan      html  css  js  c++  java
  • ASP.NET WebApi服务接口如何防止重复请求实现HTTP幂等性

    一、背景描述与课程介绍

    明人不说暗话,跟着阿笨一起玩WebApi。在我们平时开发项目中可能会出现下面这些情况;

    1)、由于用户误操作,多次点击网页表单提交按钮。由于网速等原因造成页面卡顿,用户重复刷新提交页面。黑客或恶意用户使用postman等工具重复恶意提交表单(攻击网站)。这些情况都会导致表单重复提交,造成数据重复,增加服务器负载,严重甚至会造成服务器宕机。因此有效防止表单重复提交有一定的必要性。

    2)、在网速不够快的情况下,客户端发送一个请求后不能立即得到响应出现超时,由于不能确定是否请求是否被成功提交,所以它有可能会再次发送另一个相同的请求,从而造成数据重复 。

    1.1、重复请求按照发起者使用的类型分为两大类

    1)、Web表单POST重复请求。(发起者指的是网页浏览器端)

    2)、HTTP WebApi接口重复请求。(发起者指的是客户端应用程序端)

    1.2、本次分享课程包含知识点如下:

    1)、对ASP.NET WebApi 有一定的了解和学习。  

    2)、对.NET中如何操作Redis数据库有一定的掌握和认识。

    3)、.NET开源轻量级HTTP网络请求框架RestSharp在ASP.NET WebApi中的基本运用。

    4)、ASP.NET WebApi服务如何实现我们的接口HTTP幂等性操作。

    1.3、一句话总结今天我们要解决的问题?

    ASP.NET WebApi服务接口如何防止重复请求,保证HTTP幂等性操作。  

    本次分享课程阿笨给大家带来的是《ASP.NET WebApi服务接口如何防止重复请求》,如果您对本次分享课程感兴趣的话,那么请跟着一起学习吧!

    废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

    二、概念名称含义和介绍

    2.1、什么是重复提交?

    2.2、什么是HTTP幂等性?

    三、WebApi如何防止重复提交实现原理讲解

    3.1、 如何防止Web表单POST重复请求

    3.2、如何防止WebApi接口重复请求

    ●基于Redis的API接口HTTP幂等性设计(推荐解决手段)

     

     两种实现方式


    客户端
     

    Redis数据库

    四、总结

     
  • 相关阅读:
    【HAOI2014】贴海报
    【HAOI2016】食物链
    【NOI2003】银河英雄传
    【HAOI2013】花卉节
    【BZOJ1702】[usaco2007margold]队列平衡
    【网络流24】餐巾
    洛谷 [P1265] 公路修建
    全排列与 康托展开
    洛谷 [P1403] 约数研究
    高精度模板
  • 原文地址:https://www.cnblogs.com/51net/p/9690380.html
Copyright © 2011-2022 走看看