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

http 安全性和幂等性

幂等性和安全性是HTTP方法的属性。 HTTP RFC定义了这些属性,并告诉我们哪些HTTP方法是安全且幂等的。 服务器应用程序应确保正确执行安全和幂等的语义,如客户端期望的那样。

安全的HTTP方法

如果HTTP方法不更改服务器状态,则认为它们是安全的。 因此,安全方法只能用于只读操作。 HTTP RFC定义了以下安全方法:GET,HEAD,OPTIONS和TRACE。

实际上,通常不可能以不更改任何服务器状态的方式来实现安全方法。

例如,GET请求可能会创建日志或审核消息,更新统计值或触发服务器上的缓存刷新。

RFC在这里告诉我们:

当然,不可能确保服务器不会由于执行GET请求而产生副作用; 实际上,一些动态资源认为该功能。 这里的重要区别是用户没有要求副作用,因此不能对它们负责。

幂等HTTP方法

幂等意味着多个相同的请求将具有相同的结果。 因此,发送请求一次还是多次都没有关系。 以下HTTP方法是幂等的:GET,HEAD,OPTIONS,TRACE,PUT和DELETE。 所有安全的HTTP方法都是幂等的,但PUT和DELETE是幂等的,但并不安全。

请注意,幂等性并不意味着服务器必须对每个请求以相同的方式进行响应。

例如,假设我们要使用DELETE请求通过ID删除项目:

 DELETE /projects/ 123 HTTP/ 1.1 

作为响应,我们可能会收到HTTP 200状态代码,指示该项目已成功删除。 如果我们再次发送此DELETE请求,则可能会收到HTTP 404作为响应,因为该项目已被删除。 第二个请求没有更改服务器状态,因此即使我们得到不同的响应,DELETE操作也是幂等的。

幂等性是API的一个积极特性,因为它可以使API更具容错性。 假设客户端存在问题,并且请求被多次发送。 只要使用幂等操作,就不会在服务器端造成任何问题。

HTTP方法概述

下表总结了哪些HTTP方法是安全且幂等的:

HTTP方法 安全 幂等
得到
选件
跟踪
没有
删除 没有
开机自检 没有 没有
补丁 没有 没有

翻译自: https://www.javacodegeeks.com/2020/02/http-methods-idempotency-and-safety.html

http 安全性和幂等性

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

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

相关文章

Huffman编码(Huffman树)

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “Huffman编码(Huffman树)” 的idea 并用源代码加以实现; 0.2) Huffman树的构建算法属于 贪婪算法,…

java获取文件列表_java获取指定目录中的文件列表

最近项目中会动态生成文件html及相关资源文件(css,js,png,mp3),为了防止文件名重复,需要获取目录中相同类型文件的最大编号,下面我用代码来实现获得文件列表。public static void getFiles(String path) {File file new File(path);// 如果这…

jep290涉及jdk版本_针对JDK 14提议的另外六个JEP

jep290涉及jdk版本Mark Reinhold最近的消息宣布了六个新的“建议针对JDK 14的JEP ”: JEP 345 , JEP 361 , JEP 363 , JEP 364 , JEP 365和JEP 367 。 假设没有异议由11月7日提出,这些JEPs将有针对性地JDK …

近似装箱问题(三种联机算法实现)

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “近似装箱问题(三种联机算法实现)” 的idea 并用源代码加以实现; 0.2) 近似装箱问题的三种联机算法 分别是&am…

java 随机数种子_Java--随机数和随机数种子(转)

在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,实现这一功能的程序叫伪随机数发生器。有关如何产生随机数的理论有许多,如果要详细地讨论,需要厚厚的一本…

java 堆转储快照_捕获Java堆转储的7个选项

java 堆转储快照堆转储是诊断与内存相关的问题的重要工件,例如内存泄漏缓慢,垃圾回收问题和java.lang.OutOfMemoryError。它们也是优化内存消耗的重要工件。 有很棒的工具,例如Eclipse MAT和Heap Hero,可以分析堆转储。 但是&…

java 提取url参数_Java提取URL某个参数的值

ASP.NET Core 中文文档 第四章 MVC(4.3)过滤器原文:Filters 作者:Steve Smith 翻译:刘怡(AlexLEWIS) 校对:何镇汐 ASP.NET MVC 过滤器 可在执行管道的前后特定阶段执行代码.过滤器可以配置为全局有效.仅对控 ...jquery插件-表单提交插件-jQuery&peri…

近似装箱问题(两种脱机算法实现)

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “近似装箱问题(两种脱机算法实现)” 的idea 并用源代码加以实现; 0.2) 近似装箱问题的两种联机算法 分别是&am…

vaadin 10+_Vaadin 10+作为CUBA UI的未来

vaadin 10从一开始,Vaadin就成为CUBA平台用户界面的基石和重要组成部分。 凭借其创新的方法,它帮助CUBA将企业用户界面开发带到了一个非常有希望(当今是默认)的WEB领域。 Vaadin最令人兴奋的部分之一是整个开发都是同构的&#xf…

java 信息增益_对信息增益(IG,Information Gain)的理解和计算

可能理解的不对。决策树构建中节点的选择靠的就是信息增益了。信息增益是一种有效的特征选择方法,理解起来很简单:增益嘛,肯定是有无这个特征对分类问题的影响的大小,这个特征存在的话,会对分类系统带来多少信息量&…

使用文本编辑器和jdk_JDK 14:记录,文本块等

使用文本编辑器和jdk今天的Mark Reinhold帖子“ 建议JEP针对JDK 14:305、343、359、366和368 ”建议将另外五个JEP针对JDK 14 。 该组中有一些备受期待的功能,但建议将所有功能都“预览”或“孵化”: JEP 305 :instanceof的模式匹…

java compareable接口_Java对象比较-Comparable和Comparator接口使用

最近在学习贪心算法和动态规划的过程中,里面有一段自然排序的操作,顺便简单了解一下Java中对象比较后排序要使用的两个接口:Comparable和Comparator。如果是数字,直接比较就行,但是如果是对象,如何比较后排…

java初学者指南_Java代理初学者指南

java初学者指南尽管Java初学者很快学会了键入public static void main来运行他们的应用程序,但是即使是经验丰富的开发人员也常常不知道JVM对Java流程的两个附加入口点的支持: premain和agentmain方法。 这两种方法都允许所谓的Java代理在驻留在其自己的…

java txt html格式_java中xml(txt/html等格式)解析问题,请教java高手,请勿粘贴其他网页上的内容(能查的都看了)。...

目的:通过对网页内容解析,获得需要的内容,如网页的标题Title,主要内容,描述信息;而里面的广告、超链接、无关紧要的信息统统不要,从而达到对用户上网行为的分析的目的。下面是我...目的&#xf…

java泛型程序设计——定义简单泛型类+泛型方法

【0】README 0.1) 本文描述源代码均 转自 core java volume 1, 旨在理解 java泛型程序设计 的 定义泛型类泛型方法的知识; 【1】一个泛型类: 就是具有一个或多个类型变量的类; 1.1)看个荔枝: …

分布式 虚拟时间和虚拟同步_分布式虚拟跟踪

分布式 虚拟时间和虚拟同步跟踪提供了对系统的可见性,使开发人员和操作人员可以在运行时观察应用程序。 当系统不断增长并与更多微服务进行交互时,跟踪变得非常有价值。 在这样的环境中,这些痕迹非常棒,可以定位导致性能下降的故障…

java泛型程序设计——类型变量限定 + 泛型代码和虚拟机

【0】README 0.1) 本文描述源代码均 转自 core java volume 1, 旨在理解 java泛型程序设计 的 类型变量限定 泛型代码和虚拟机 的知识; 【1】类型变量的限定 1.1)类和方法需要对类型变量加以限定 1.1.1)看个荔枝&a…

java中装饰器_Java设计模式12:装饰器模式

装饰器模式装饰器模式又称为包装(Wrapper)模式。装饰器模式以多客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰器模式的结构通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生子类来扩展,抑或是使用对…

selenium 4_Selenium4 Alpha –期望什么?

selenium 4Selenium4 Alpha-期望什么? 早在2018年8月,整个测试自动化社区就受到了一个重大新闻的打击:Selenium的创始成员Simon Stewart在班加罗尔Selenium会议上正式确认了Selenium 4的发布日期和一些重大更新。 世界最受欢迎的Web测试自动化…

英文论文中“such as, for example, e.g., i.e., etc., et al. ”的用法分析

【1】README 本文转自: http://www.cnblogs.com/lanke_2009/archive/2010/12/07/1899185.html , 旨在学习 英文论文中的 如 “such as, for example, e.g., i.e., etc., et al. ”的用法; 【2】正文如下: 黄龙旺  龚汉忠 (上…