常用的 HTTP 请求方法和区别

news/2025/9/23 9:36:34/文章来源:https://www.cnblogs.com/Seamless/p/19106612

最核心和常用的方法有以下几个:

  1. GET

    • 用途:请求指定的资源。只用于获取数据,不应产生任何“副作用”(如修改数据)。

    • 特点:请求的参数直接附加在 URL 后面(查询字符串 Query String),有长度限制,且会被浏览器历史记录保存。可以被缓存、收藏为书签。

  2. POST

    • 用途:提交数据给服务器,通常会导致服务器状态的变化(如创建新资源)。

    • 特点:数据放在请求体(Request Body)中发送,没有长度限制,也更安全(不会显示在 URL 或浏览器历史中)。通常不会被缓存。

  3. PUT

    • 用途:更新指定资源的所有内容。如果资源不存在,可以用 PUT 来创建它。

    • 特点:请求体中包含资源完整的更新后版本。是幂等的(多次执行同样的 PUT 操作,结果都是相同的)。

  4. DELETE

    • 用途:删除指定的资源。

    • 特点:操作是幂等的。

  5. PATCH

    • 用途:部分更新指定的资源。与 PUT 不同,PATCH 只提交需要修改的字段,而不是整个资源。

    • 特点:请求体中包含一组指令,描述如何修改资源。不是幂等的(取决于实现方式,但标准定义下,连续相同的 PATCH 请求可能产生不同结果)。


二、其他不常用但重要的方法

  1. HEAD

    • 用途:与 GET 方法类似,但服务器只返回响应头,不返回响应体。用于在下载大文件前检查其元数据(如大小、类型)或验证链接有效性。

  2. OPTIONS

    • 用途:询问服务器对于某个 URL 支持哪些请求方法。常用于 CORS(跨域资源共享) 预检请求中。

  3. CONNECT

    • 用途:建立一个到目标资源的隧道,通常用于通过代理服务器建立 SSL 加密通道。

  4. TRACE

    • 用途:沿着到目标资源的路径执行一个消息环回测试,主要用于诊断。由于存在安全风险(如 XST 攻击),通常被浏览器禁用。


三、核心区别对比表

 
方法语义(目的)是否幂等是否安全请求体典型应用场景
GET 获取/查询资源 通常无 访问网页、搜索、点击链接
POST 提交/创建资源 用户登录、提交表单、上传文件
PUT 完整更新/创建资源 更新用户个人资料(提供完整信息)
PATCH 部分更新资源 通常否 只修改用户的昵称或状态
DELETE 删除资源 通常无 删除一篇文章、一个用户
HEAD 获取资源的元信息 检查链接是否有效、资源是否更新
OPTIONS 查询服务器支持的方法 CORS 预检请求

四、关键概念解释

1. 安全性(Safe Methods)

一个方法是“安全”的,意味着它只用于读取信息,而不会修改服务器上的任何数据。GET、HEAD、OPTIONS 被认为是安全的方法。安全的方法可以被缓存、预加载,而不会产生意外后果。

注意:安全不代表操作没有副作用(如记录日志),只是说用户的意图不是修改数据。

2. 幂等性(Idempotent Methods)

一个方法是“幂等”的,意味着相同的请求被执行一次与连续执行多次的效果是一样的(服务器状态端)。

  • GET:多次获取同一资源,结果不变。(幂等)

  • PUT:用同样的数据多次更新同一资源,结果与一次更新相同。(幂等)

  • DELETE:删除一个资源后,再次删除,结果依然是“已删除”。(幂等)

  • POST:提交一次订单会创建一个新订单,提交两次会创建两个订单。(不幂等)

幂等性对网络通信非常重要,当请求失败时(如超时),客户端可以安全地重试幂等的请求,而不用担心产生意外效果。

总结

  • RESTful API 设计 的核心就是充分利用这些 HTTP 方法的语义。

    • GET /users - 获取用户列表

    • POST /users - 创建一个新用户

    • GET /users/1 - 获取 ID 为 1 的用户

    • PUT /users/1 - 更新 ID 为 1 的用户(完整信息)

    • PATCH /users/1 - 更新 ID 为 1 的用户(部分信息)

    • DELETE /users/1 - 删除 ID 为 1 的用户

理解这些方法的区别和适用场景,是进行 Web 开发和 API 设计的基础。

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

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

相关文章

什么叫网站优化怎么用vs做网站开发

背景 美团点评作为全球最大的生活服务平台,承接超过千万的POI,服务于数量庞大的活跃用户。在海量数据的前提下,定位运营业务、准确找到需要数据的位置,并快速提供正确、一致、易读的数据就变得异常困难,这些困难主要体…

网站左侧导航栏设计交换链接是什么意思

目录 什么是渗透测试 渗透测试的重要性 渗透测试的前置技能 开始入门学习路线 什么是渗透测试 渗透测试,通常被视为模拟黑客的一种安全评估行为,其目的在于全面挖掘目标网站或主机的潜在安全漏洞。与真实的黑客攻击不同,渗透测试旨在发现…

个人建网站做站长手机做免费个人网站

目录 前言1. mysql.connector2. pymysql 前言 连接Mysql一般有几种方法,主要讲解mysql.connector以及pymysql的连接 后续如果用到其他库还会持续总结! 对于数据库中的表格,本人设计如下:(为了配合下面的操作) 1. mysql.connector mysql.connector 是一…

网站cms模板那些网站可以做行测题

随着城市建设的不断发展和交通运输的快速增长,渣土车作为建筑行业中不可或缺的运输工具,承担着大量的渣土运输任务。然而,由于渣土车在运输过程中存在超速、违规变道、碾压行人等交通安全问题,给道路交通和行人安全带来了严重的隐…

网站容易出现的问题什么叫网站前台

一、session 1、客户端发送请求,服务器将登录信息存储在 Session 中,Session 依赖于 Cookie(cookie指的就是在浏览器里面存储的一种数据,仅仅是浏览器实现的一种数据存储功能。Cookie实际上是一小段的文本信息。)&…

高平网站建设沉默是金什么意思

目录 引言 1 FastSAM介绍 1.1 FastSAM诞生 1.2 模型算法 1.3 实验结果 2 FastSAM运行环境构建 2.1 conda环境构建 2.2 运行环境安装 2.3 模型下载 3 FastSAM运行 3.1 命令行运行 3.1.1 Everything mode 3.1.2 Text prompt 3.1.3 Box prompt (xywh) 3.1.4 Points p…

网站运营推广主要做什么的泰安房产网站

目的 Redis和Msql来保持数据同步,并且强一致,以此来提高对应接口的响应速度,刚开始考虑是用mybatis的二级缓存,发现坑不少,于是决定自己搞 要关注的问题点 操作数据必须是唯一索引 如果更新数据不是唯一索引&#…

jquery网站开发查找网站域名

概要介绍 时间序列数据是一种表示物理设备,系统、应用过程或行为随时间变化的数据,广泛应用于物联网,工业物联网,基础运维系统等场景。阿里云TSDB 时间序列数据库可以解决大规模时序数据的可靠写入,降低数据存储成本&…

建设监理继续教育网站响应式网站手机端

近日,浙江智臾科技有限公司(以下简称“智臾科技”)正式签署 CLA 贡献者许可协议,加入龙蜥社区(OpenAnolis)。 智臾科技主创团队从 2012 年开始投入研发 DolphinDB。DolphinDB 作为一款基于高性能时序数据库…

网站如何改版厦门手机网站建设

一. 六大日志 慢查询日志:记录所有执行时间超过long_query_time的查询,方便定位并优化。 # 查询当前慢查询日志状态 SHOW VARIABLES LIKE slow_query_log; #启用慢查询日志 SET GLOBAL slow_query_log ON; #设置慢查询文件位置 SET GLOBAL slow_query_log_file …

建设网站包维护粤嵌培训4个月收费

好 接下来 我们讲一个对开发非常重要的东西 热部署 因为 我们在开发过程中总会希望快点看到效果 或者 你的企业项目一般很大很复杂,重启是一件非常麻烦的事 或者你在和前端同事联调,有一点小问题 你改完就要重启 前端还得等你,非常不友好 那…

网站图标素材图片深圳响应式设计企业网站

这篇文章主要是为了记录一下操作,这个假期又要给这套RAC扩容磁盘。 我这套Solaris的小机我还不总操作这玩意,和LINUX有点小差别,整理记录一下,要不每次都是现翻。 存储端划LUN映射到主机 登录到3PAR存储控制台,创建…

免费试用平台网站源码济南做网站优化哪家好

在使用hbase时出错,错误如下图: 错误原因: 返回去检查启动的Hadoop与zookeeper,发现zookeeper的状态不对,重新启动了一下zookeeper,确保所有机器的zookeeper都启动起来了就可以了。

娄底网站推广自己能网站建设

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:ssm 【…

网站运营年度推广方案羊了个羊开发公司

一,什么是JWT JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案 JWT总的来说是用来解决session的共享的问题的 1,JWT的原理 JWT 的原理是,服务器认证以后,生成一个 JSON 对象,发回给…

wordpress站群代oa系统网站建设

概述:以上内容详细介绍了在 C# 中实现不改变原 List 值的多层嵌套复制方法,包括使用 AutoMapper、Json.NET、以及对象序列化的步骤和示例。这些方法提供了灵活而高效的方式,可以根据项目需求选择最适合的深度复制方式。 1. 使用 AutoMapper …

直播营销的优势有哪些北京路口优化

先说POSIX的吧: mq_open,sem_open,shm_open着三个函数用于创建或者打开一个IPC通道。 由此可见,消息队列的读写权限是任意的,然而信号灯就没有,…

C#和Lua相互访问 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

国外那些网站是做菠菜的平面设计要什么学历

​​​​​​​ 概要 随着前端技术的快速发展,前后端分离已经成为了一种趋势。在前后端分离的架构中,前端需要与后端进行数据的交互,这就需要后端提供RESTful API接口。而在开发过程中,我们常常需要模拟后端数据接口&#xf…

jemter 安装

附上链接:https://blog.csdn.net/m0_65120252/article/details/136568884无可奈何花落去,似曾相识燕归来