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

news2024/11/23 7:33:37

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

  • GET
    向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。

  • HEAD
    与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。

  • POST
    向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。

  • PUT
    向指定资源位置上传其最新内容。用于更新

  • DELETE
    请求服务器删除Request-URI所标识的资源。

  • TRACE
    回显服务器收到的请求,主要用于测试或诊断。

  • OPTIONS
    这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用’*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。

  • CONNECT
    HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器)。

  • PATCH
    PATCH翻译是"补丁"的意思 ,
    HTTP中为了提高交互操作性与防止错误,确实需要一种新的修改方法,而PUT方法已经被定义为用一个请求体去修改一个完整的资源。并且不能重复做部分更改,否则代理和缓存、甚至服务器或者客户端都会得到有问题的操作结果。
    至此,PATCH方法有了被完全定义的必要。
    PATCH在请求中定义了一个描述修改的实体集合,如果被请求修改的资源不存在,服务器可能会创建一个新的资源。
    PUT 和 PATCH 请求之间的差异反映在服务器处理包含的实体以修改资源的方式
    由请求 URI 标识。在 PUT 请求中,包含的实体
    被视为存储在源站,客户端请求存储的版本被替换。但是,对于 PATCH,封闭的实体包含一组
    描述当前驻留在应修改源服务器以生成新版本。补丁方法会影响由请求 URI 标识的资源,并且它
    也可能对其他资源产生副作用;即新资源可以通过应用程序创建或修改现有补丁。
    简单来说就是:PATCH更新部分,PUT更新全部.

HTTP request methods -MDN

HTTP defines a set of request methods to indicate the desired action to be performed for a given resource. Although they can also be nouns, these request methods are sometimes referred to as HTTP verbs. Each of them implements a different semantic, but some common features are shared by a group of them: e.g. a request method can be safe, idempotent, or cacheable.
HTTP 定义了一组请求方法, 以表明要对给定资源执行的操作。指示针对给定资源要执行的期望动作. 虽然他们也可以是名词, 但这些请求方法有时被称为HTTP动词. 每一个请求方法都实现了不同的语义, 但一些共同的特征由一组共享:: 例如一个请求方法可以是 safe, idempotent, 或 cacheable.

GET

The GET method requests a representation of the specified resource. Requests using GET should only retrieve data.
GET方法请求一个指定资源的表示形式. 使用GET的请求应该只被用于获取数据.

HEAD

The HEAD method asks for a response identical to a GET request, but without the response body.
HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体.

POST

The POST method submits an entity to the specified resource, often causing a change in state or side effects on the server.
POST方法用于将实体提交到指定的资源,通常导致状态或服务器上的副作用的更改. 

PUT

The PUT method replaces all current representations of the target resource with the request payload.
PUT方法用请求有效载荷替换目标资源的所有当前表示。

DELETE

The DELETE method deletes the specified resource.
DELETE方法删除指定的资源。

CONNECT

The CONNECT method establishes a tunnel to the server identified by the target resource.
CONNECT方法建立一个到由目标资源标识的服务器的隧道。

OPTIONS

The OPTIONS method describes the communication options for the target resource.
OPTIONS方法用于描述目标资源的通信选项。

TRACE

The TRACE method performs a message loop-back test along the path to the target resource.
TRACE方法沿着到目标资源的路径执行一个消息环回测试。

PATCH

The PATCH method applies partial modifications to a resource.
PATCH方法用于对资源应用部分修改。

在这里插入图片描述

RESTful架构 (表述性状态转移)

REST(英文:Representational State Transfer,表述性状态转移, 简称REST)

每一个URI代表1种资源;

客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;

GET、POST、PUT、DELETE 可以对于数据库的 查,增,改,删

  • GET 查询 SELECT
  • POST 新增或创建 INSERT 或 CREATE
  • PUT 更新 UPDATE
  • DELETE 删除 DELETE

PATCH 方法也用于更新
HTTP PATCH 方法用于 OSLC 资源的非完整更新。不同于 PUT 方法,PATCH 方法不会删除不包含在请求中的所有本地资源属性。必须使用 x-method-override 头来指定 PATCH 方法。

使用 PATCH 方法来替换 OSLC 资源时,下列规则适用:

将对请求文档中指定的所有字面属性进行更新。框架不会显式地影响任何未在请求中指定的字面属性。但是,对资源附加的业务逻辑可能会隐式地影响这些属性。
请求中的相应属性值将更新或替换所有的本地资源属性。如果资源属性未包括在请求中,那么框架不会显式地影响相应的本地资源。如果包括了资源属性,那么它的值将替换或更新服务器中的值。
无法显式地更新引用资源。但是,您可以更新引用了该资源的属性,这些属性将遵循字面属性的更新模型。

PATCH 实现具有两个用例:

可以将数组(本地资源)属性替换为请求中的内容。此用例是缺省实现。
可以在请求中查找数组资源元素并使其与服务器中的相应元素匹配。根据能否找到匹配项,将更新或插入数组资源元素。永远不会从本地资源属性中删除数组元素。要获取此用例,客户端必须将 PATCHTYPE HTTP 请求头设置为值 MERGE(区分大小写)。

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

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

相关文章

分别利用seaborn和matplotlib绘制两组数据(国家统计局居民消费指数和鸢尾花数据集)的图表

一、居民消费指数 1. 数据来源 使用的数据来源网站:国家统计局 数据网站连接:https://data.stats.gov.cn/easyquery.htm?cnA01 2.下载数据 点击下载按钮: 注册一个国家统计局的账号,然后自动登录跳转到数据页,…

Ae:橡皮擦工具

橡皮擦工具 Eraser Tool 快捷键:Ctrl B 橡皮擦工具 Eraser Tool在工作原理上同 Ae 中的其它绘画工具(画笔、仿制图章)工具基本一致,都是通过绘制路径,然后基于此路径进行描边(可统称为“绘画描边”&…

黑马在线教育数仓实战9

2.6 数据清洗转换操作 ​ 目的: 主要是用于从ODS以及DIM层 将数据灌入到DWM层操作 生成学生出勤状态信息表 涉及表: course_table_upload_detail: 日志课程明细表 (课表) (维度表) tbh_student_signin_record: 学生打卡记录表 (事实表) tbh_class_time_ta…

Windows下的RabbitMq安装(图文教学)

目录 前言一、安装Erlang1、下载地址: https://www.erlang.org/downloads2、安装3、配置环境变量4、测试安装 二、安装RabbitMq1、下载2、安装3、常用命令 参考 前言 RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang …

Visual Studio Code 1.78 发布

VS Code 1.78 已发布,此版本一些主要亮点包括: 辅助功能改进 - 更好的屏幕阅读器支持、新的音频提示。新的颜色主题 - “Modern” 浅色和深色主题默认设置。 配置文件模板 - Python、Java、数据科学等的内置模板。 新版本提供了配置文件模板&#xff0…

Android网络代理原理及实现

网络代理简介 代理典型的分为三种类型: 正向代理 缓存服务器使用的代理机制最早是放在客户端一侧的,是代理的原型,称为正向代理。其目的之一 是缓存,另一目的是用来实现防火墙(阻止互联网与公司内网之间的包&#x…

AI 工具合辑盘点(六)持续更新

AI 图像生成和编辑工具 不久前,艺术创作是特定群体的领域。 不再是这样了! 今天,在人工智能艺术生成器的帮助下,任何人都可以通过编写文本提示并让人工智能创建所需的图像来成为艺术家。 🎨🖌 文本到图像…

多线程 双重检查锁详解

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

Word处理控件Aspose.Words功能演示:在 Java 中将 Word DOC/DOCX 转换为 PDF

Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API支持流行文件格式处理,并…

工业路由器误按RST复位键如何处理?RST键的作用

接触过工业路由器的朋友们都知道,几乎市面上的所有路由器产品都具备着一个常见但不常用的RST按键,它的作用是让工业路由器恢复出厂设置,也称为“复位键”“重置键”,用户可在通电情况下长按RST键10秒便会出现工业路由器指示灯全灭…

高级【IO】

目录 一.五种IO模型 (1)阻塞IO: (2)非阻塞IO (3)信号驱动IO: (4)IO多路转接 (5)异步IO 二.高级IO概念 1.同步通信、异步通信 2.阻塞、非阻…

你知道ChatGPT里面的G、P、T分别代表什么吗?

生成式AI, 在学习归纳数据分布的基础上,创造数据中不存在的新内容。可以生成文本、图片、代码、语音合成、视频和3D模型。 比尔盖茨:ChatGPT是1980年以来最具革命性的科技进步。 身处这个AI变革的时代,唯有躬身入局,…

vcs -libmap

1 libmap的作用 主要两个作用: 解决module名重复问题: 比如有两个IP, IP0和IP1, 它们都例化了一个叫ADD的module, 而且它们的filelist中都包含add.v. 这时会引起编译错误, 这时可以: (1) 指定IP0中的add.v编译到库lib0中, IP1中的add.v编译到库lib1中, (2) 指定IP0中的ADD使用…

超细Redis(二)

五大数据类型 官方文档: 翻译: Redis 是一个开源(BSD 许可)内存数据结构存储系统,用作数据库、缓存、消息代理和流引擎。Redis 提供数据结构,例如字符串、哈希、列表、集、带有范围查询的排序集、位图、超…

MySQL: 运算符使用练习

前言: 练习运算符的使用,加强记忆。 案例目的: 在已建数据库中创建数据表,并对表中数据进行处理,练习运算符(包括数据运算符、逻辑运算符、位运算符)的使用。 操作过程: 创建名…

java基础入门-03-【字符串】

Java基础入门-03-【字符串】 10、字符串10.1.API10.1.1API概述10.1.2如何使用API帮助文档 10.2.String类10.2.1 String类概述10.2.2 String类的特点10.2.3 String类的构造方法10.2.4 创建字符串对象两种方式的区别10.2.5 字符串的比较10.2.5.1 号的作用10.2.5.2 equals方法的作…

清华发布首个最全大模型安全评测系统,ChatGPT登榜首!

夕小瑶科技说 原创作者 | 天于刀刀 Python当前大型语言模型的火爆程度我们不用再进行赘述了,伴随着百度文心一言打响国内商业大模型第一枪,华为盘古,阿里通义千问,智谱ChatGLM,科大讯飞星火等国内公司纷纷开始布局。 另一方面由于…

01-Flink Metrics简介

Flink Metrics简介 Flink Metrics是Flink集群运行中的各项指标,包含机器系统指标,比如:CPU、内存、线程、JVM、网络、IO、GC以及任务运行组件(JM、TM、slot、作业、算子)等相关指标。 Flink Metrics包含两大作用&…

阿里云服务器购买教程(新手入门指南)

阿里云服务器ECS选购指南,阿里云百科分享2023阿里云服务器新手选择流程,选购云服务器有两个入口,一个是选择活动机,只需要选择云服务器地域、系统、带宽即可;另一个是在云服务器页面,自定义选择云服务器配置…

探究C语言数组的奥秘:大小可省略的定义、内存存储、数组名、传参、指针遍历、数组指针和指针数组、柔性数组等

也许你认为,C语言中的数组非常好理解,就是把一组相同类型的元素存储在同一块空间里。但是你可能并没有真正理解数组的本质,不信的话请回答一下下面的几个小问题,如果你能非常清晰的回答这些问题,那么你对C语言中的数组…