后端怎么防止重复提交?(常用的做法)

后端怎么防止重复提交?(常用的做法)

客户端的抖动,快速操作,网络通信或者服务器响应慢,造成服务器重复处理。防止重复提交,除了从前端控制,后台也需要控制。因为前端的限制不能解决彻底。接口实现,通常要求幂等性,保证多次重复提交只有一次有效。对于更新操作,达到幂等性很难。

常用后端防止重复提交方案

  • token

访问请求到达服务器,服务器端生成token,分别保存在客户端和服务器。提交请求到达服务器,服务器端校验客户端带来的token与此时保存在服务器的token是否一致,如果一致,就继续操作,删除服务器的token。如果不一致,就不能继续操作,即这个请求是重复请求。

  • 缓存

request进来,没有就先存在缓存中,继续操作业务,最后删除缓存或者缓存设置生命周期。如果存在,就直接对request进行验证,就不能继续操作业务。

  • 索引

数据库中创建唯一索引,记录每次request请求。添加索引成功,就获取锁,继续操作,最后设置索引失效。添加索引失败,获取锁失败,不能继续操作。

  • Redis的计数器

Redis的计数器是原子操作,不存储请求,又能提升QPS的峰值。每次request请求,若相同请求,计数器+1,否则新建id为key的计数器。如果>1,不能获取锁;如果=1,获取锁,操作,最后删除计数器(删除锁)。

  • Post/Redirect/Get

提交(Post)后执行页面重定向,成功后转到提交成功页面(Get),整个流程才算结束。当刷新页面,或者浏览器前进和后退,都不会引起Post请求的重复提交。这里可以在head中设置control-cache,保存表单信息。这个方法依赖前端限制比较多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/63843.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎样有效降低论文的重复率?

如今对科研的要求越来越严格,各个学校对论文的重复率虽然不尽相同,但都是存在越来越严格的趋势。有些学科甚至将查重率要求在了10%以内。每到毕业季,就有无数学子为“论文查重”感到头疼,甚至每年这个时候翟天临的微博下都有许多新…

防重复提交

转自:http://patrick002.iteye.com/blog/2197521 看到一篇关于防重复提交的文章,记录一下: #防重复处理总结 ##背景 在业务开发中,我们常会面对防止重复请求的问题。当服务端对于请求的响应涉及数据的修改,或状态的变…

如何解决重复提交造成的数据重复

理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协…

中大计算机研究生华为,考上中山大学很厉害吗?毕业后有机会去华为吗?本文有答案...

原标题:考上中山大学很厉害吗?毕业后有机会去华为吗?本文有答案 声明:本文转载自网络,如有侵权,请在后台留言联系我们进行删除,谢谢! 中山大学是全国知名985高校,也是广东…

到底要不要报考“通信工程”?

作者 | 小枣君 来源 | 鲜枣课堂 “通信工程”是干嘛的 通信工程,英文全称叫做Communication Engineering,是一门重要的工学基础学科。 根据教育部《学位授予和人才培养学科目录设置与管理办法》,“通信工程”属于二级学科,归属于“…

我通过了软考高项,有些话想说

文章目录 1. 软考成绩2. 备考过程与经验3. 遇到的坑4. 论文准备5. 资料及寄语 1. 软考成绩 昨天下午得到了一个振奋人心的消息,我的软考通过了,感觉努力没有白费很欣慰,也感觉有很多话要说(真不是得瑟)。可能很多人不…

大学报考计算机相关专业,这份指南收好,最新数据

2022年的高考已经结束了,但却并不代表高考落幕了,因为后面的报考学校和专业更是一轮重头戏,几年的寒窗苦读自然是要考上一个好学校好专业,才算真正给自己生涯划上句号。 今天给大家分享的计算机相关专业的实际情况,包…

测试高考分数能上什么大学的软件,测你能考上哪所大学软件是什么

测你能考上哪所大学软件是什么,小编整理了相关信息,来看一下! 测你能考上哪所大学软件 蝶变志愿 蝶变志愿是是为帮助高三考生和家长学习高考志愿填报知识,查询院校和专业信息的软件。软件包含教育部公布的所有大学的信息和1800多种…

某程序员自述:我,三十多岁,逃离北上广,通过技术移民到加拿大!

本文转载自 程序员八卦 在北上广的巨大压力下,许多人选择逃离,有人“逃”回了老家,有人则“逃”到了国外,之前我们分享过一个“逃”到新加坡的程序员故事,今天再来分享一个“逃”到加拿大的程序员故事。 这是一位已经…

2019全球数据新闻奖揭晓

大数据文摘授权转载自RUC新闻坊 编辑:刘长宇、刘畅、段钇男、葛书润、肖鳕桐、姚思妤、欧阳婕、马冰莹 2019年全球数据新闻奖于当地时间6月14日(北京时间6月15日)在希腊揭晓,本次评选共收到参赛作品607件,经过初选&…

全球最大NFT交易平台OpenSea

文章目录 全球最大NFT交易平台OpenSea背景什么是OpenSea发展历史OpenSea都支持哪些公链 参考 全球最大NFT交易平台OpenSea 背景 Ethereum上NFT销售额在2021年已超过90亿美元,比2020年的总销售额增长了2500%。2021年作为NFT元年,同时出现在牛市周期的背…

加拿大java技术移民_加拿大技术移民分析贴之新手入门级!

释放双眼,带上耳机,听听看~! 加拿大技术移民分析贴之新手入门级! 能力 学历 申请能力 学历 申请能力 学历 申请 移民加拿大有很多种方式,加拿大技术移民是最主要的方式之一,也是加拿大移民重要组成部分&…

科技巨头打响第一枪!“我们将要被AI取代”?

来源:量子位 “这不是演习,AI让人失业来真的了!” 就在这个劳动节假期,科技巨头IBM宣布: 暂缓可以被AI取代的岗位的招聘,约7800人将被永久淘汰。 尽管“我们要被AI取代”的唬人消息不是第一次出现了&#x…

如何用AI技术实现和马斯克实时视频聊天

前言 在直播盛行、短视频横飞、主播满地的今天,个人上传自己的生活视频来记录日常已经屡见不鲜了。拿起手机拍个视频,并且在上传前顺便美颜一下,乐此不疲。 但是最近看到的一些AI诈骗新闻却不得不令人担忧,网上你以为的帅哥美女、…

这段视频火爆外网,谷歌把AI视频造假搞得太真太简单了

来源:量子位 家人们,AI做视频这事今天又被推向了舆论的风口浪尖。 起因是有人在网上发布了这么一只小企鹅的视频: 而这个近50秒视频的诞生,靠的仅仅是6句话! 陆陆续续的,网友们还在发布着这个AI的其它杰作&…

2020AI顶会的腾讯论文解读 | 多模态学习、视频内容理解、对抗攻击与对抗防御等「AI核心算法」

关注:决策智能与机器学习,深耕AI脱水干货 报道 | 腾讯AI实验室 计算机视觉领域三大顶会之一的 ECCV(欧洲计算机视觉会议)今年于 8 月 23-28 日举办。受新冠肺炎疫情影响,今年的 ECCV 与 CVPR 一样是完全的线上会议。近…

豪气!华为放话:3年培养100万AI人才!网友神回应了

大家经常把BAT挂在嘴边,但是可能有些人还不知道,华为的体量早已超越了这三巨头,只是迟迟不肯上市。华为的创始人任正非曾说表:上不上市不重要,最重要的是要让中国华为的技术能够称霸全球! 华为对技术的重视…

豪投10亿!华为放话:3年培养100万AI人才!网友神回应了

近期,AI测试权威软件AI Benchmark的测试数据显示,中国华为研发的7nm旗舰手机芯片麒麟810的AI分数,远远超过美国高通骁龙855了! 麒麟810芯片AI分数是3300多,名列第一。而骁龙855手机则是2700多。 大家振奋的同时&#…

ETH今日全网算力上涨3.14%

消息面:BTC全网算力123.098EH/s,挖矿难度16.85T,目前区块高度642856,理论收益0.00000809/T/天。 ETH全网算力201.064TH/s,挖矿难度2535.06T,目前区块高度10622682,理论收益0.00911583/100MH/天。 BSV全网算力2.305EH/s,挖矿难度0.32T,目前区块高度647319,理论收益0.0…

一分钟配置Openai api接口代理

目录 目录 目录一、首先需要一个国外的云服务器二、搭建步骤1.连接服务器2.安装宝塔2.服务器安装以及配置 答疑合作 一、首先需要一个国外的云服务器 这里推荐这个。链接:衡天云 二、搭建步骤 1.连接服务器 可使用xshell或者自带的vnc直接连接,账号密…