http post put patch 总结

http请求方法安全性:GET、POST、PUT、PATCH、DELETE、OPTIONS、HEAD、TRACE 目录 1. GET 2. HEAD 3. POST 4. PUT 5. DELETE 6. OPTIONS 7. TRACE 8. PATCH 根据RFC2616第九章说明,http方法的定义有两点:safe and Idempotent,即安全性和幂等性,可以结合这两点对以上方法进行说明 1. GET 安全、幂等; get请求是用来获取数据的,只是用来查询数据,不对服务器的数据做任何的修改,新增,删除等操作。 在这里我们认为get请求是安全的,以及幂等的。安全就是指不影响服务 阅读详情

idempotent 幂等的

如果一个方法重复执行多次,产生的效果是一样的,那就是idempotent的;
idempotent的意思是如果相同的操作再執行第二遍第三遍,結果還是一樣。
"Methods can also have the property of 'idempotence' in that (aside from error
or expiration issues) the side-effects of N > 0 identical requests is the same
as for a single request."

POST 方法

用来创建一个子资源,如 /api/users,会在users下面创建一个user,如users/1;
POST方法不是幂等的,多次执行,将导致多条相同的用户被创建(users/1,users/2 ...
而这些用户除了自增长id外有着相同的数据,除非你的系统实现了额外的数据唯一性检查)

PUT 方法

PUT比較正確的定義是 Replace (Create or Update),
例如 PUT /items/1 的意思是替換 /items/1 ,如果已經存在就替換,沒有就新增;
因此,PUT方法一般会用来更新一个已知资源,除非在创建前,你完全知道自己要创建的对象的URI

http post put 区别

**在HTTP中,PUT被定义为idempotent的方法,POST则不是,这是一个很重要的区别

举个栗子:

POST /api/articles
PUT /gists/:id/stars
如果产生两个**资源**,就说明这个服务不是idempotent(幂等的),因为多次使用产生了副作用;
如果后一个请求把第一个请求**覆盖**掉了,那这个服务就是idempotent的。
前一种情况,应该使用POST方法;
后一种情况,应该使用PUT方法。

PATCH 方法

PATCH方法是新引入的,是对PUT方法的补充,用来对已知资源进行**局部更新**
HTTP PATCH method require a feature to do partial resource modification.
The existing HTTP PUT method only allows a complete replacement of a document.

需要注意的地方

**语义** 而非 风格;是语义的问题,换句话说:
也就是这取决于这个REST服务的行为是否是idempotent(幂等的)
// 但是这个只是在语义上,同时不要太苛求语义
DELETE 刪除,無論如何 资源 最後都将不复存在
// PUT    替換(新增或完整更新)
// PATCH  部分更新

Examples from github api v3

create a gist
POST /gists

star a gist
PUT /gists/:id/stars

设计 restful api 需要注意的问题

**名词复数**

URIs

names > verbs : 推荐使用具象化的名词而不是动词

plural > singular

Resource collections: /v1/users
Resource instances:   /v1/users/007

ps: 文章里的内容是我在平时的学习过程中算是摘录吧

SRv6第二弹:SRv6基本概念 在SRv6网络编程中,不同的转发行为由不同的Function来标识,例如在RFC中定义了公认的End、End.X、End.DX4、End.DX6等。例如:R3使用报文的IPv6目的地址FC03::3查找Local SID表,命中到End SID,随后R3将报文SL减1,同时将SL=1的SID做为报文目标IPv6地址,并查路由表转发出去。SID支持静态配置或者动态分配,end-op、end、end.x、end-dt4、end-dt6、end-dx2推荐静态配置 ,便于网络运维,其他的SID可以动态分配。 阅读详情

相关推荐

FOFA奇技淫巧:从搜索语法到实战场景的深度挖掘

本文深入探讨了FOFA搜索语法在网络空间测绘中的高效应用,从基础语法到实战场景的深度挖掘。通过渗透测试、威胁狩猎、资产发现等实际案例,展示了如何利用FOFA精准定位目标系统、识别蜜罐、追踪威胁,并提供了合规使用指南和性能优化技巧,助力安全工作者提升效率。

weixin_32428571的博客 235

请谈谈 HTTP 中的请求方法(GET、POST、PUT、DELETE等),它们的区别是什么?

​强制规范​敏感操作禁止使用GET方法更新操作严格区分PUT/PATCH语义​协作流程​API文档必须明确每个端点的允许方法使用Swagger/OpenAPI生成交互式文档​监控报警​对405 Method Not Allowed进行监控统计非常用方法(如HEAD/OPTIONS)的调用频率​安全加固​严格限制TRACE/CONNECT方法对敏感接口启用双重认证(如删除操作)

程序员学习园地。 1567

Java:使用Java调用打印机进行打印(JPG、PDF和Word三种文件格式)

目录 一、Java的打印简介 二、Java打印实现 2.1 JPG图片文件格式打印实现 2.2 PDF文件格式打印实现 2.3 Word文件格式打印实现 2.3.1 Word文件采用jacob插件进行打印实现。 2.3.2 先将word转化为pdf文件,然后打印pdf(lz使用) 三、总结 一、Java的打印简介 在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Jav...

vatxiongxiaohui的专栏 8万+

HTTP 协议中,GET、PUT、POST、DELETE、OPTIONS 和 PATCH 区别

在 HTTP 协议中,GET、PUT、POST、DELETE、OPTIONS 和 PATCH 是常见的请求方法(HTTP Methods),用于定义客户端与服务器之间的交互方式。修改文件的某一部分:PATCH /files/abc.txt,请求体包含需要更新的内容。更新用户信息:PUT /users/123,请求体包含更新后的用户信息。请求的数据通常包含在请求体(Body)中,仅包含需要更新的字段。请求是幂等的(多次请求对资源状态的影响与单次请求相同)。请求的参数通常附加在 URL 中(例如查询字符串)。

nbspzs的专栏 2104

海康威视工业相机SDK二次开发实战:多相机同步采集与图像存储

本文详细介绍了海康威视工业相机SDK二次开发实战,包括多相机同步采集与图像存储的优化方案。通过MVS软件搭建开发环境,实现硬件与软件触发同步采集,并提供高效的图像存储管理技巧,帮助开发者提升工业视觉项目的效率与稳定性。

weixin_29168813的博客 666

蛋白组学/磷酸化蛋白组学分析笔记-2

如何校正蛋白丰度?磷酸化组学质谱下机处理。

weixin_43029125的博客 1371

HTTP协议 9 种请求方式用途及区别(详解)-- GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT

HTTP协议 9 种请求方式用途及区别(详解)-- GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT

weixin_42672802的博客 6280

第六章 汇川技术InoProShop入门之modbusTCP从站协议解读

摘要:ModbusTCP从站协议是Modbus协议在TCP/IP网络上的扩展,作为服务器端被动响应主站请求。它采用MBAP+PDU帧结构,通过IP地址和502端口实现网络通信,支持标准功能码(如读/写寄存器、线圈)。相比传统串行Modbus,具有高速传输、远距离通信优势。从站需解析请求、执行操作并返回响应,同时处理错误校验和并发连接。该协议广泛应用于智能传感器、PLC等工业设备,实现高效可靠的主从数据交互。

zyfucking2010的博客 1435

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

局部更新,比如:user对象,只更改了name属性,那么他的其他属性值是不会变的,如果用post,那么其他属性值会被设置为null(全局更新)说明:与get方法类似,但不返回message body内容,仅仅是获得获取资源的部分信息(content-type、content-length)。根据RFC2616第九章说明,http方法的定义有两点:safe and Idempotent,即安全性和幂等性,可以结合这两点对以上方法进行说明。说明:向服务器端提交数据,请求数据在报文body里;

chuyouyinghe的专栏 1056

【OS】AUTOSAR架构下MCAL Modules软件分区问题分析

AUTOSAR架构下MCAL Modules软件分区问题分析

qq_36056498的博客 939

ROS与深度相机入门教程:(1)Ubuntu16.04 在ROS中驱动Intel D435i深度相机

Intel在Github上开源了支持所有RealSense系列相机的SDK,包括了D400、SR300系列深度相机和T265双目跟踪相机,支持Linux、Windows、Mac OS以及Android,链接:https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installin...

m0_37957160的博客 2075

HTTP提交方式之PATCH

在使用postman请求接口得时候,使用get,post得时候我们是使用body下form-data来传输数据得,但是使用patch时候就不是了,默认是以x-www-form-urlencoded的contentType来发送信息,并且信息内容是放在request的body里。 PUT方法和PATCH方法的提交目的地都是直接指向资源,而POST方法提交的数据的目的地是一个行为处理器。 PUT方法用来替换资源,而patch方法用来更新部分资源,然而PATCH和POST都是非幂等的,POST请求服务器执行一

阅读之后,对你有帮助,那就点个赞再走吧 1万+

RestFul API 详解

RESTful API 经常也被叫做 REST API,它是基于 REST 构建的 API。RESTful API 可以让你看到 URL+Http Method 就知道这个 URL 是干什么的,让你看到了 HTTP 状态码(status code)就知道请求结果如何。

wynn的博客 7581

RESTful HTTP中对POST,PUT,PATCH的区别

经常会混淆HTTP的POST/PUT方法,因为这两个方法似乎都可以用来创建或更新一个资源。 区别是细微但清楚的: POST 方法 用来创建一个子资源,如 /api/users,会在users下面创建一个user,如users/1; POST方法不是幂等的,多次执行,将导致多条相同的用户被创建(users/1,users/2 ... 而这些用户除了自增长id外有着相同的数据,除非你的系统实现...

Pre_wen 7200

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

HTTP中Get与Post的区别 GET、POST、HEAD、PUT、DELETE、PATCH方法

走进生活,让心更静些 HTTP中Get与Post的区别 GET、POST、HEAD、PUT、DELETE、PATCH方法 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET、POST、HEAD、PUT、DELETE、PATCH方法。 URL全称是资源描述符: 我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE、PATCH就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了 GET一般

weixin_53532986的博客 2578

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

http请求方式: post put patch 总结

idempotent 幂等的 如果一个方法重复执行多次,产生的效果是一样的,那就是idempotent的;  idempotent的意思是如果相同的操作再執行第二遍第三遍,結果還是一樣。  “Methods can also have the property of ‘idempotence’ in that (aside from error  or expiration issues) th...

大脸猫的博客 1550

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Http Get、Post、Delete 、 Put 、Patch 实现方式实例

HTTP 各种接口请求方式实例,token为授权信息,每个平台要求不同,map种存放请求参数,key为参数名,value为参数值。 HTTP Patch 实现方式实例: public static String sendPatch(String url, String params, String token) { String result = ""; ...

weixin_30762087的博客 870

HTTP 请求方法指南:GET, POST, PUT, PATCH, DELETE 区别

本文详细阐述了 GET、POST、PUT、PATCH、DELETE 五种 HTTP 方法的用途和关键区别。GET 用于检索,POST 用于创建,DELETE 用于删除。文章重点对比了 PUT(整体替换、幂等)与 POST(创建、非幂等)在资源创建上的不同,以及 PUT 与 PATCH(局部更新、非幂等)在更新操作上的差异。理解各方法的语义和幂等性是设计优雅 RESTful API 的基础。

BI 919

http的请求类型 get 、post、delete、put、patch之间的区别

get 从服务器端获取数据,请求body在地址栏上 用于获取资源,是幂等的,无副作用 post 向服务器端提交数据,请求数据在报文body里 发送一个修改数据的请求,需求数据要从新创建 用于创建,更新,删除资源,查询资源都可以,是不幂等的 put 向服务器端提交数据,请求数据在报文body里 发送一个修改数据的请求,需求数据更新(全部更新) 用于添加/更新资源 patch 向服务器端提交数据,请求数据在报文body里 发送一个修改数据的请求,需求数据更新(部分更新...

whatday的专栏 7611

rest post put_REST / HTTP方法:POST与PUT与PATCH

rest post put 每个HTTP请求都包含一个方法 (有时称为verb ),该方法指示对标识的资源执行的操作。 在构建RESTful Web服务时,HTTP方法POST通常用于创建资源,而PUT用于资源更新。 尽管在大多数情况下这很好,但使用PUT进行资源创建也是可行的。 PATCH是资源更新的替代方法,因为它允许部分更新。 一般来说,我们可以说: POST请求在服务器定...

最佳 Java 编程 378

HTTP的method方法 GET POST PUT DELETE HEAD OPTIONS CONNECT PATCH TRACE

GET向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。HEAD与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。POST向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。

kfepiza的博客 1147

HTTP Verbs: 談 POST, PUT 和 PATCH 的應用

在初學REST的這幾年,我都認為這幾個 HTTP Verbs 就是對應 CRUD: POST = 新增GET = 讀取PUT = 更新DELETE = 刪除 後來在設計 API only 的 Web service 時,常常搞不清楚到底要用 PUT 還是 POST,才發現我被 Rails 的鷹架範例誤導了(被框架框住想法了?),所謂的 PUT 其實也可以用到新增,而且還有一個蠻新的 H

dazhi_100的专栏 669

终于搞明白了,http 的请求类型 get 、post、delete、put、patch之间的区别

get :用于获取资源,是幂等的,无副作用 post:用于创建,更新,删除资源,查询资源都可以,是不幂等的 delete:用于删除资源 put:用于添加/更新资源 patch:用于更新资源,且是局部更新,比如:user对象,你只更改了name属性,那么他的其他属性值是不会变的,如果你用post,那么其他属性值会被设置为null(全局更新) 下面具体说下幂等性: HTTP GET方法用于获取资源,不应有副作用,所以是幂等的。比如: GET http://www .bank.com/ac..

qq_34787830的博客 2430

rest_REST / HTTP方法:POST与PUT与PATCH

rest 每个HTTP请求都包含一个方法(有时称为verb ),该方法指示对标识的资源执行的操作。 在构建RESTful Web服务时,HTTP方法POST通常用于创建资源,而PUT用于资源更新。 尽管在大多数情况下这很好,但使用PUT进行资源创建也是可行的。 PATCH是资源更新的替代方法,因为它允许部分更新。 一般来说,我们可以说: POST请求在服务器定义的URI上创建子资源。 P...

cunfen8879的博客 562
上一篇: jquery ajax && php foreach array
下一篇: mysql删除重复数据只保留一条
SAFARI_SHI
博客等级 码龄12年 1粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值