Http方法详解

003-HTTP方法详解 本文详细介绍了HTTP方法的分类、特性及使用场景。主要内容包括:HTTP方法分为安全方法(GET、HEAD、OPTIONS)和非安全方法(POST、PUT、DELETE、PATCH),通过对比表展示了各方法的用途、安全性、幂等性等特性。重点讲解了GET和POST方法,包括GET方法的复杂参数处理、特殊字符编码及健壮性实现,以及POST方法支持的不同数据格式(表单、JSON、XML)。文章还提供了Python代码示例,演示了如何构建不同类型的HTTP请求,并强调了幂等性、安全性等RESTful API设计原则 阅读详情

查(Read) → GET
增(Create) → POST
改(Update) → PUT / PATCH
删(Delete) → DELETE

幂等性:多次执行结果相同
安全性:不修改服务器状态

1. GET - 获取资源

  • 作用:从服务器获取指定资源

  • 特点:

    • 幂等(多次请求结果相同)

    • 可缓存

    • 参数暴露在 URL 中(有长度限制)

    • 无副作用(只读操作)

  • 示例:GET /users/123 获取ID为123的用户信息


2. POST - 创建资源

  • 作用:向服务器提交数据,创建新资源

  • 特点:

    • 非幂等(多次提交会创建多个资源)

    • 数据在请求体(Body)中传输

    • 无缓存

  • 示例:POST /users 创建新用户,数据:{"name":"张三"}


3. PUT - 全量更新

  • 作用:完整替换目标资源

  • 特点:

    • 幂等

    • 需提供资源的完整表示

    • 不存在则创建(取决于实现)

  • 示例:PUT /users/123 替换ID为123的用户全部信息


4. PATCH - 局部更新

  • 作用:对资源进行部分修改

  • 特点:

    • 非幂等(可能,视具体实现)

    • 只发送需要修改的字段

    • 节省带宽

  • 示例:PATCH /users/123 仅修改邮箱:{"email":"new@example.com"}

表格

对比PUTPATCH
更新范围完整替换局部修改
未提供字段被清空/设为默认值保持不变
请求体大小较大较小

5. DELETE - 删除资源

  • 作用:删除指定的资源

  • 特点:

    • 幂等(删除一次和多次结果相同)

    • 不可恢复(通常)

  • 示例:DELETE /users/123 删除ID为123的用户


6. HEAD - 获取元信息

  • 作用:与 GET 相同,但只返回响应头,不返回响应体

  • 特点:

    • 幂等

    • 用于检查资源是否存在、获取文件大小(无需下载内容)

  • 示例:HEAD /large-file.zip 获取文件大小,判断是否需要更新


7. OPTIONS - 查询支持的方法

  • 作用:查询服务器支持的 HTTP 方法和其他选项

  • 特点:

    • 幂等

    • 常用于 CORS 预检请求

  • 示例:OPTIONS /users 返回 Allow: GET, POST, HEAD, OPTIONS


8. TRACE - 回显测试

  • 作用:服务器将收到的请求原样返回,用于诊断

  • 特点:

    • 存在安全风险(XST 攻击),通常被禁用

  • 现状:生产环境基本禁用


9. CONNECT - 建立隧道

  • 作用:与服务器建立网络连接(主要用于 HTTPS 代理)

  • 示例:CONNECT www.example.com:443 建立 SSL 隧道


核心属性对比

表格

方法幂等性安全性可缓存请求体
GET✓✓✓✗
POST✗✗✗✓
PUT✓✗✗✓
PATCH✗✗✗✓
DELETE✓✗✗✗
HEAD✓✓✓✗
OPTIONS✓✓✗✗

Q:POST 和 PUT 有什么区别?

  • POST 用于创建,由服务器分配新资源 URI

  • PUT 用于创建或更新,客户端指定完整 URI

Q:PATCH 和 PUT 选哪个?

  • 修改全部字段 → PUT

  • 修改部分字段 → PATCH(更灵活、高效)

Q:GET 能传 Body 吗?

  • 语法上允许,但语义不推荐,且部分服务器/代理会忽略 GET 的 Body

Ubuntu Server 22.04.5系统安装教程 该教程主要是演示在服务器上安装Ubuntu server 22.04系统的详细步骤,主要包含,安装系统前的准备(镜像的下载,启动盘的制作),安装系统时的语言选择,网络设置,切换镜像源(可根据实际需求来配置,本文使用清华镜像源),手动分区,用户设置,ssh服务安装等。以上就是关于Ubuntu Server 22.04系统安装的详细过程。 阅读详情

相关推荐

从安装到跑通第一个例程:Halcon 20.11深度学习版环境搭建全记录

本文详细记录了Halcon 20.11深度学习版环境搭建的全过程,从安装配置到运行第一个例程,特别针对CUDA版本冲突、算子验证和样本数据预处理等常见问题提供解决方案。通过实战案例展示PCB缺陷分类流程,帮助工程师快速掌握工业级图像处理技术,提升深度学习模型在工业质检中的应用效率。

weixin_28739079的博客 220

HTTP方法详解

文章目录前言一、GET方法二、HEAD方法三、POST方法四、PUT方法五、DELETE方法六、CONNECT方法七、OPTIONS方法八、TRACE方法九、PATCH方法 前言 HTTP定义了一组请求方法,以指示要对给定资源执行的所需操作。尽管它们也可以是名词,但这些请求方法有时也称为HTTP动词。它们中的每个实现了不同的语义,但是它们的某些组共享了一些共有的功能:例如,请求方法可以是安全的,幂等的或可缓存的。 HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP1.1

七天 2014

Altair HyperWorks 2022.3.0 Suite下载

Altair HyperWorks开发团队提供了新的一流技术,以设计和优化高性能、高效和创新的产品,并发布了HyperWorks 2021.2套件。与所有新版本一样,这个版本包含了新特性、增强功能,并修复了前一个版本中用户报告的各种问题,提供了总体上更稳定的体验。链接: https://pan.baidu.com/s/1rYietmQLQUboHiJzYoE9WQ?pwd=m9yh 提取码: m9yh 复制这段内容后打开百度网盘手机App,操作更方便哦。

weixin_48469365的博客 2126

【乔二参】HTTP 方法详解

我会继续努力,提供高质量内容,如有任何建议,请随时与我联系。HTTP方法详解及使用示例如下:HTTP方法定义了客户端与服务器之间交互的不同方式,它们决定了对指定资源的操作类型。Allow以上是对HTTP方法中常见请求方法的详解及使用示例。这些方法在Web开发中扮演着重要角色,它们不仅定义了资源应该如何被访问,还决定了数据如何在客户端和服务器之间传输。

2302_79483741的博客 804

从零构建:基于OpenCV与人体姿态分析的跌倒检测实战(附完整源码)

本文详细介绍了如何从零构建基于OpenCV与人体姿态分析的跌倒检测系统,包含完整源码与部署指南。通过MediaPipe实时检测33个人体关键点,结合多条件联合判断算法,实现高精度跌倒识别。文章还提供了性能优化技巧、常见问题解决方案以及家用与养老院两种部署方案,帮助开发者快速落地这一计算机视觉应用。

weixin_29085151的博客 240

Howland电流源电路:从理论到实践的深度解析与优化策略

本文深度解析了Howland电流源电路的工作原理,从经典四电阻架构的“虚短”“虚断”分析,到其实现宽带恒流输出的理论优势。重点剖析了实践中因电阻精度、运放参数及PCB布局导致的性能瓶颈,并提供了引入第五电阻、优化运放选型等关键优化策略,旨在将输出阻抗从kΩ级提升至MΩ级,以满足精密测量与传感器驱动等应用需求。

weixin_29243063的博客 441

HTTP请求方法详解

Web开发最常见的就是HTTP(超文本传输协议)通信协议,该协议(HTTP)设计的目的是确保服务器与客户端之间的正确通信,  HTTP请求方法并不是只有GET和POST,只是最常用的。据RFC2616标准(现行的HTTP/1.1)得知,通常有以下8种方法:OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT。这8种我们一起来分析一下,其中最常用的也就是

浪漫鼠 1万+

量子密钥分发系统的工程实践(四):FPGA在后处理中的核心实现与优化

本文深入探讨了FPGA在量子密钥分发(QKD)系统后处理中的核心实现与优化策略。文章详细拆解了FPGA如何高效完成原始密钥提取、误码协商和私密放大等关键任务,并分享了流水线设计、资源复用及存储器架构优化等工程实践“心法”,旨在解决高速、实时QKD系统中的性能瓶颈,提升密钥生成率。

t8u9v0的博客 388

HTTP 请求方法详解

请求方法(Request Methods)是在 HTTP 请求中用于指定对目标资源执行的操作类型。每个请求都需要指定一个请求方法,以告知服务器要执行的操作。

diaobusi的博客 1626

Python爬虫实战:基于异步爬虫与机器学习的数据采集——以电商平台在线评论有用性分析为例

内容涵盖爬虫原理、反爬虫策略应对、数据清洗、数据存储以及简单的数据分析预览,并为后续利用机器学习模型(如逻辑回归、随机森林)分析评论有用性打下坚实的数据基础。特别是在电子商务领域,在线评论作为UGC的一种主要形式,深刻影响着消费者的购买决策和商家的信誉体系。然而,平台上的评论质量参差不齐,充斥着大量无意义的灌水、广告甚至虚假评论。因此,如何自动识别和筛选出“有用”的评论,成为了学术界和工业界共同关注的焦点。我们选择目前Python爬虫领域最前沿、效率最高的技术组合,以确保爬虫的稳定性、速度和可扩展性。

2201_76125261的博客 106

64.qt quick-qml使用高德地图插件实现V2版本(新增:位置搜索、路径规划、轨迹编辑等)

qt quick-qml高德地图插件(新增:位置搜索、路径规划、轨迹编辑等) Qt地图插件,使用简单方便,不用浏览器内核,运行高效迅速 跨平台支持,(Qt Windows(MinGW, MSVC)\Linux(桌面、嵌入式)\Android\IOS\等) 在线更新瓦片地图下载,并且支持缓存保存离线地图实现.........

抵抗时间扭曲,坚持做一件有意义的事 6128

http方法详解

HTTP方法 OPTIONS 使用该方法来获取资源支持的HTTP方法列表,或者ping服务器。 请求:只有header没有body。响应:默认只有header,但是也可以在body中添加内容,比如描述性文字 示例: # 测试对应资源所支持的方法 OPTIONS /test-options HTTP/1.1 Host: localhost # 响应 HTTP/1.1

3569 824

构建高效的LLM应用测试框架

《构建高效的LLM应用测试框架》 关键词:LLM,测试框架,应用测试,效率优化,测试原理 摘要:本文将深入探讨构建高效LLM应用测试框架的必要性、方法与步骤,旨在为开发者提供一套系统化、可操作的测试解决方案,从而提升LLM

AI天才研究院 1045

Http的各种请求方法(详解)

摘要 我们知道,当我们访问各种网页的时候,之所以能够看到页面,根本原因是发送了http请求然后得到了响应,从而页面才会弹出来。再或者我们上传一些照片和视频时,之所以可以上传成功也是因为我们通过http请求来进行上传,从而将资源放在了网上。 当客户端像服务端发送请求的时候,针对于不同意图的请求,我们分成了不同的http请求方法。 1.GET请求 GET方法是最常见也是最简单的http请求方法,它主要用作于获取资源。也就是说我客户端请求什么,你服务器就原样给我返回什么。 我请求的是文本,你就保持原样返回;我请

weixin_46726346的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

java开发HTTP协议:HTTP协议的方法详解

如图所示,HTTP请求数据包第一行第一个单词具有重要意义: 第一行第一个单词是"GET",客户端会根据对服务器的请求来指定该单词,因此第一行第一个单词被称为HTTP协议的方法。客户端发送给服务器的请求数据包,第一个单词永远作为该请求的“方法”。通常情况下,客户端通知服务器采取某种操作并将操作的结果返回给它都被称为命令,只有在HTTP协议下被称为方法,因此HTTP协议的方法与其他协议所说的命令并没...

tyler_download的专栏 921

pscad IEEE标准系统搭建说明

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

HTTP详解--HTTP方法(五)

HTTP/1.1可使用的方法 GET:获取资源 作用:用来请求访问已被URI识别的资源。指定的资源经服务器端解析后返回响应内容。 请求的资源是文本,就保持原样返回; 如果是CGI(通用网关接口),则返回经过执行后的输出结果; 示例: POST:传输实体主体

老赫的私人厨房 3954

HTTP协议详解与方法对比

HTTP(超文本传输协议,HyperText Transfer Protocol)是一种用于分布式、协作式、超媒体信息系统的应用层协议。HTTP 是万维网(WWW)的数据通信的基础,设计目的是确保客户端与服务器之间的通信,是互联网上最常用的协议之一。HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等)。

vvilkin的学习备忘 879

HTTP 方法详解

一、基础篇 所谓HTTP请求方法就是你提前告诉服务器你要进行什么类型的操作,如同你吃饭前先点菜,告诉餐厅要给你准备做什么样的菜。   一共有8个类型的方法   GET HEAD POST PUT DELETE OPTIONS TRACE 扩展方法

SnailDream 1574

HTTP协议详解(中)- 请求方法详解

HTTP请求方法详解

shonencc的博客 973

HTTP方法的详解

GET 系列请求 GET GET方法用来请求访问已被URL识别的资源 DELETE 从服务器上删除某些资源文件 HEAD 只想获取服务器返回的响应头信息(响应主体内容不需要获取) POST系列请求 POST PUT 向服务器中增加指定的资源文件 不管是哪一种请求方式,客户端都可以把信息传递给服务器,服务器也可以把信息返回给客户端,只是GET系列一般以获取为主(给的少,拿的多)而POST系列一般以...

白天不懂夜的黑 465

《网络基础之 HTTP 协议:常见 HTTP 方法详解》

在网络通信的世界里,HTTP 协议起着至关重要的作用。其中,不同的 HTTP 方法决定了客户端与服务器之间交互的方式和目的。 下面详细介绍常见的 HTTP 方法 GET 和 POST。

一名资深Java工程师的技术分享 1276
上一篇: 权限设计模式
下一篇: java基础面试题目
fqq3
博客等级 码龄4年 114粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值