网站微信支付怎么做的,如何查询一个网站是否备案,公司装修方案,网易企业邮箱手机登录一、什么是幂等
所谓幂等性通俗的将就是一次请求和多次请求同一个资源产生相同的副作用。
维基百科定义#xff1a;幂等#xff08;idempotent、idempotence#xff09;是一个数学与计算机学概念#xff0c;常见于抽象代数中。 在编程中一个幂等操作的特点是其任意多次执…一、什么是幂等
所谓幂等性通俗的将就是一次请求和多次请求同一个资源产生相同的副作用。
维基百科定义幂等idempotent、idempotence是一个数学与计算机学概念常见于抽象代数中。 在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数或幂等方法是指可以使用相同参数重复执行并能获得相同结果的函数。这些函数不会影响系统状态也不用担心重复执行会对系统造成改变。例如“setTrue()”函数就是一个幂等函数,无论多次执行其结果都是一样的更复杂的操作幂等保证是利用唯一交易号(流水号)实现.
GET只是获取资源对资源本身没有任何副作用天然的幂等性。HEAD本质上和GET一样获取头信息主要是探活的作用具有幂等性。OPTIONS获取当前URL所支持的方法因此也是具有幂等性的。DELETE用于删除资源有副作用但是它应该满足幂等性比如根据id删除某一个资源调用方可以调用N次而不用担心引起的错误根据业务需求而变。PUT用于更新资源有副作用但是它应该满足幂等性比如根据id更新数据调用多次和N次的作用是相同的根据业务需求而变。POST用于添加资源多次提交很可能产生副作用比如订单提交多次提交很可能产生多笔订单。
二、get和post的区别
最直观的区别就是GET把参数包含在URL中POST通过request body传递参数。
实际上也会有
GET在浏览器回退时是无害的而POST会再次提交请求。GET请求只能进行url编码而POST支持多种编码方式。GET请求参数会被完整保留在浏览器历史记录里而POST中的参数不会被保留。GET请求在URL中传送的参数是有长度限制的而POST么有。对参数的数据类型GET只接受ASCII字符而POST没有限制。GET比POST更不安全因为参数直接暴露在URL上所以不能用来传递敏感信息。
但本质上二者并没有区别本质上就是TCP链接并无差别。
还有一个重大区别GET产生一个TCP数据包POST产生两个TCP数据包。并非所有浏览器 三、回答上述问题
GET和POST是两种常见的HTTP请求方式,它们在多个方面存在差异:请求方式、数据大小、缓存和历史记录以及幂等性。
GET请求是从服务器获取数据,数据被包含在URL中,大小受限于URL长度,通常不超过2KB,容易被缓存且数据会保存在浏览器历史记录中,并且是幂等的,多次执行结果相同;而POST请求是向服务器发送数据,数据包含在请求体中,大小没有限制,不会被缓存且数据不会保存在浏览器历史中,通常不是幂等的,多次执行可能产生副作用。
所谓幂等性指的是同样的请求执行多次,产生的效果是一样的,GET请求是幂等的因为只是从服务器读取数据不会对服务器产生任何影响,而POST请求通常不是幂等的因为会修改服务器上的资源,每次执行都可能产生不同的结果。