一、背景描述與課程介紹
明人不說暗話,跟着阿笨一起玩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冪等性設計(推薦解決手段)
兩種實現方式


四、總結