【Http】HTTP方法的安全性和幂等性

如何保障HTTP请求的安全性? 请求体的内容:请求体中的内容由具体的请求数据构成,可以是表单数据、JSON数据、XML数据、二进制数据等。对请求体进行安全检测:可以采用一定的安全检测技术,如WAF(Web应用程序防火墙)等,对请求体进行实时监控和检测,及时发现和防范安全威胁。对请求体进行访问控制:可以采用一定的访问控制策略,对请求体进行权限控制和鉴别,只允许授权用户访问请求体数据,从而保障数据的安全性。:在使用HTTP协议时,可以对请求体进行加密,采用对称加密或非对称加密等加密方式,确保请求体数据的机密性和完整性。 阅读详情

Http协议规定了不同方法的安全特性和幂等特性,作为服务提供者的服务器必需为客户端提供这些特性。

安全性

仅指方法的多次调用不会产生副作用,不涉及传统意义上的“安全”,这里的副作用是指资源状态。即,安全的方法不会修改资源状态,尽管多次调用的返回值可能不一样(被其他非安全方法修改过)。

幂等性

指该方法多次调用返回的效果(形式)一致,客户端可以重复调用并且期望同样的结果。幂等的含义类似于编程语言的setter,一次调用和多次调用产生的效果是一致的,都是对一个变量进行赋值。安全性和幂等性含义有些接近,容易搞混。

HTTP方法的安全性和幂等性见下表:

方法名安全性幂等性
GET是是
HEAD是是
OPTIONS是是
DELETE否是
PUT否是
POST否否

可以认为安全的方法都是只读的方法(GET、HEAD、OPTIONS),不会改变资源状态,显然,这三个方法也是幂等。
DELETE方法的语义表示删除服务器上一个资源,第一次删除成功后该资源就不存在了,资源状态改变了,所以DELETE方法不具备安全特性。然而HTTP协议规定DELETE方法是幂等,每次删除该资源都要返回状态码200 OK,服务器端要实现幂等的DELETE方法,必须记录所有已删除资源的元数据(Metadata),否则,第二次删除后返回的响应码就会类似404 Not Found了。

PUT 和POST方法语义中都有修改资源状态的意思,因此都不是安全。但是PUT方法是幂等的,POST方法不是幂等的,这么设计的理由是:
HTTP协议规定,POST方法修改资源状态时,URL指示的是该资源的父级资源,待修改资源的ID在请求中携带。而PUT方法修改资源状态时,URL直接指示待修改资源。因此,同样是创建资源,重复提交POST请求可能产生两个不同的资源,而重复提交PUT请求只会对其URL中指定的资源起作用,也就是只会创建一个资源。

参考:https://www.cnblogs.com/jinks/p/3511282.html
http://fengchangjian.com
http://fengchangjian.com/?p=1653
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6

【HTTP】http方法及其幂等性 前后端交互必备 在前后端分离的最为常见的软件开发过程中,http的RESTFUL API成为了其中最为重要的桥梁,所以学习HTTP的一些方法也是后端开发的必备知识点。 HTTP方法就像后端取出数据然后提供API给前端,让前端根据这个API地址去取所需的数据,并且不同的数据根据不同的方法去取。 幂等性 幂等是从数学引入的术语,表示某个元素经过多少次特定的运算之后结果仍然不变。 所以假设双十一网站访问量突然增加,不少人点支付按钮会点两三下,那么,怎么保证这两下触发的事件只发生一次呢,这里就被定义为幂等性,意思为同样的操作不管执 阅读详情

相关推荐

HTTP 指南:【1、 支持的方法(幂等性、安全性)2、状态码 3、MIME 媒体内容4、报文结构5、 提高 性能6、GET 和 POST 的区别7、http3的演进8、CORS 跨域及JSONP】

1.GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%

专注于计算机研发知识和资讯分享 1万+

HTTP的幂等性

幂等的概念:一个调用被发送多次所产生的副作用和被发送一次所产生的副作用是一样的 而服务调用有三种结果:成功、失败和超时。 解决超时的手段:1、超时后查询调用结果 2、在被调用的服务中实现幂等性(在分布式系统中实现幂等性,需要实现全局 ID。) HTTP的幂等性 HTTP GET 方法用于获取资源,不应有副作用,所以是幂等的 HTTP HEAD 和 GET 本质是一样的,区别在于 HEAD 不含有呈现数据,而仅仅是 HTTP头信息,不应有副作用,也是幂等的 HTTP OPTIONS 主要用于获取当前 URL

if9600的博客 701

ROC-RK3588S-PC 刷机 安装Android系统

rk3588刷机,装系统

Wjz_www的博客 4832

HTTP方法的安全性和幂等性

- 衔山的博客 -http://fengchangjian.com- HTTP方法的安全性和幂等性 Posted By衔山On 2012 年 05 月 26 日 @ 下午 5:43 In计算机网络|No Comments Http协议规定了不同方法的安全特性和幂等特性,作为服务提供者的服务器必需为客户端提供这些特性。安全性,仅指该方法的多次调用不会产生副作用,不涉及...

weixin_30338497的博客 227

别再死磕GAN了!用PyTorch从零实现DDPM图像生成(附CIFAR-10完整代码)

本文详细介绍了如何使用PyTorch从零实现DDPM(Denoising Diffusion Probabilistic Models)图像生成模型,并在CIFAR-10数据集上进行训练和测试。通过对比GAN,DDPM展现出更稳定的训练过程和更高质量的生成效果。文章包含完整的代码实现、训练技巧和优化建议,帮助开发者快速掌握这一前沿的生成模型技术。

weixin_33720078的博客 630

simulink调用C代码函数-C Caller模块

simulink中如何调用写好的C代码函数?使用C Caller模块调用C代码。

weixin_40531919的博客 5669

网络协议丨安全与幂等

关于HTTP请求方法有两个比较重要的概念:安全与幂等。 安全指的是什么? 在 HTTP 协议里,所谓的“安全”是指请求方法不会“破坏”服务器上的资源,即不会对服务器上的资源造成实质的修改。 按照这个定义,只有 GET 和 HEAD 方法是“安全”的,因为它们是“只读”操作,无论 GET 和 HEAD 操作多少次,服务器上的数据都不会受到影响。 而 POST/PUT/DELETE 操作会修改服务器上的资源,增加或删除数据,所以是“不安全”的。所以后两个方法现在很多服务器直接不支持或不处理。 什么是幂

编程学习之路 412

PPO实战:如何用强化学习让小车爬上MountainCarContinuous-v0山顶(附完整代码)

本文提供了使用PPO算法解决MountainCarContinuous-v0环境的完整实战教程。针对该环境的连续动作空间和稀疏奖励挑战,文章详细解析了PPO智能体的网络架构、状态归一化、GAE优势估计等核心实现,并附带了可直接运行的PyTorch代码。同时分享了关键的调参技巧和实战避坑指南,帮助读者高效训练智能体完成小车爬坡任务。

linux的博客 968

HTTP各种请求方法的的幂等性和安全性

幂等性和安全性是http请求方法的特性, 比如 get请求方法是具有安全性的 安全性(此次请求不会修改后台): 仅指该方法的多次调用不会产生副作用,不涉及传统意义上的“安全”,这里的副作用是指资源状态。 即,安全的方法不会修改资源状态,尽管多次调用的返回值可能不一样(被其他非安全方法修改过)。 幂等性(多次请求一个url,返回值不变): 是指该方法多次调用返回的效果(形式)一致,客户端可以重复调用并且期望同样的结果。 一次调用和多次调用产生的效果是一致的,都是对一个变量进行赋值。

小小臭臭的博客 3171

Linux 音频驱动(六) ALSA音频驱动之PCM Write数据传递过程

目录1. 前言2. PCM Data Flow3. 总结 1. 前言 本文,我们将以回放(Playback,播放音频)为例,讲解PCM Data是如何从用户空间到内核空间,最后传递到Codec。 在Linux 音频驱动(一) ASoC音频框架简介中,我们给出了回放(Playback)PCM数据流示意图: 对于Linux来说,由于分为 user space 和kernel space,而且两者之间不能随便互相访问。因此用户如果播放音频,则需要调用copy_from_user()将用户数据从user spa

_Modest_的博客 1万+

计算图像哈希SHA-512

上述需要将lena.jpg放在当前目录下。

计算机视觉之光 960

http 安全性和幂等性_HTTP方法:幂等性和安全性

http 安全性和幂等性 幂等性和安全性是HTTP方法的属性。 HTTP RFC定义了这些属性,并告诉我们哪些HTTP方法是安全且幂等的。 服务器应用程序应确保正确执行安全和幂等的语义,如客户端期望的那样。 安全的HTTP方法 如果HTTP方法不更改服务器状态,则认为它们是安全的。 因此,安全方法只能用于只读操作。 HTTP RFC定义了以下安全方法:GET,HEAD,OPTIONS和TR...

最佳 Java 编程 453

【WRFDA运行第五期】运行 OBSGRID 客观分析

运行 OBSGRID 客观分析

WW、forever的博客 1047

HTTP方法:幂等性和安全性

幂等性和安全性是HTTP方法的属性。 HTTP RFC定义了这些属性,并告诉我们哪些HTTP方法是安全且幂等的。 服务器应用程序应确保正确执行安全和幂等的语义,如客户端期望的那样。 安全的HTTP方法 如果HTTP方法不更改服务器状态,则认为它们是安全的。 因此,安全方法只能用于只读操作。 HTTP RFC定义了以下安全方法:GET,HEAD,OPTIONS和TRACE。 实际上,通...

最佳 Java 编程 187

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用ASP.NET Core 3.x 构建 RESTful API - 4.3 HTTP 方法的安全性和幂等性

什么样的HTTP方法是安全的?如果一个方法不会改变资源的表述,那么这个方法就被认为是安全的。例如HTTP GET和HTTP HEAD就被认为是安全的,但需要注意的是,这并不意...

dotNET跨平台 446

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HTTP请求中的安全性和幂等性

HTTP请求中的安全性指的是它不会修改服务器的数据。也就是说,这是一个对服务器只读操作的方法。比如`GET`,`HEAD` 和` OPTIONS`这些方法都是安全的。 所有安全的方法都是具有幂等性,但具有幂等性的方法不一定都是安全的。`PUT `和 `DELETE` 都是幂等的,但不是安全的。

stay hungry, stay foolish 1145

【HTTP基础】GET 和 POST 的区别,以及幂等性详解

本文对比分析了HTTP请求方法GET与POST的核心区别,从安全性、幂等性、可缓存性等维度展开说明。GET请求用于获取资源,具有安全、幂等和可缓存的特性;而POST请求用于提交数据,不安全且非幂等。文章进一步解释了幂等性的概念,指出PUT和DELETE方法也具有幂等性。通过表格对比和形象比喻,清晰呈现了各方法的特点与适用场景,为Web开发中选择合适的请求方法提供了实用指导。

Knight 1295

RESTful API之幂等性

接口幂等性的含义 幂等性原本是数学中的含义,表达式的是N次变换与1次变换的结果相同。而RESTFul API中的幂等性是指调用某个方法1次或N次对资源产生的影响结果都是相同的,需要特别注意的是:这里幂等性指的是对资源产生的影响结果,而不是调用HTTP方法的返回结果。 举个例子,RESTFul API中的GET方法是查询资源信息,不会对资源产生影响,所以它是符合幂等性的,但是每次调用GET方法返回的结果有可能不同(可能资源的某个属性在调用GET方法之前已经被其他方法修改了)。 实际上,在分布式架构中的API幂

生有涯,知无涯 914

幂等性

什么是幂等性 就是对资源的操作,无论操作一次还是多次,其资源本身不发生变化。 幂等性设计其实是分布式中十分重要的概念 比如表单重复提交是一个典型的需要进行幂等性设计的一个问题。 需要幂等的场景 网络波动: 因网络波动,可能会引起重复请求 分布式消息消费: 任务发布后,使用分布式消息服务来进行消费。 用户重复操作: 用户在使用产品时,可能会误操作而触发多笔交易,或者因为长时间...

kun blog 1万+

http请求方法:GET、POST、PUT、PATCH、DELETE、OPTIONS、HEAD、TRACE

http方法:GET、HEAD、POST、PUT、DELETE、OPTIONS、TRACE、PATCH 根据RFC2616第九章说明,http方法的定义有两点:safe and Idempotent,即安全性和幂等性,可以结合这两点对以上方法进行说明 1,GET 安全、幂等; 用于获取资源; 2,HEAD 安全、幂等; 与get方法类似,但不返回message body内容,仅仅是获得获取资源的部分信息(content-type、content-length); restful框架中较少使用 3,POST

龚珂心的博客 563

HTTP方法的幂等性

原文:http://www.colorfuldays.org/program/http_idempotence/ 最近在看RESTful及HTTP协议相关的书和文档,其中都提到一个“幂等”的概念。何为“幂等”? “幂等”是指一个操作重复执行N次得到的结果与执行一次是相等的。在HTTP协议中,要求GET,HEADER,PUT和DELETE方法是幂等的。其中GET,HEADER,DELETE的幂

雪梦科技 2973
上一篇: 【.NET】前台线程和后台线程
下一篇: 【.NET】Socket通信
It_sharp
博客等级 码龄10年 51粉丝 231原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值