【前端】HTTP请求方式:GET、POST 与其他请求方法详解

【前端】HTTP请求方式:GET、POST 与其他请求方法详解


文章目录


前言

在前后端分离开发中,最常见的问题之一就是:

  • GET 和 POST 有什么区别?
  • PUT、DELETE、PATCH 是干什么的?
  • 为什么有的接口用 POST 不能用 GET?
  • 为什么有时候 GET 能成功,POST 却报错?

本文系统整理 HTTP 请求方式的区别、原理与使用场景,结合 Vue + Axios 实际开发说明。


定义概念 + 缩写

一、HTTP 是什么?

HTTP(HyperText Transfer Protocol)

超文本传输协议,是浏览器与服务器之间通信的规则。


二、常见请求方式

方法作用是否修改数据
GET获取数据
POST提交数据
PUT更新数据(整体替换)
PATCH局部更新
DELETE删除数据
HEAD只获取响应头
OPTIONS查询支持的请求方式

性质


一、GET 请求

特点

  • 用于获取数据
  • 参数放在 URL 中
  • 可被缓存
  • 幂等(多次请求结果相同)

示例

axios.get('/api/user/list',{params:{page:1,pageSize:10}})

生成的请求:

GET /api/user/list?page=1&pageSize=10 

适用场景

  • 查询列表
  • 查询详情
  • 查询分页数据

二、POST 请求

特点

  • 用于提交数据
  • 数据放在请求体(body)
  • 不会被浏览器缓存
  • 常用于创建资源

示例

axios.post('/api/user/login',{username:'admin',password:'123456'})

数据不会出现在 URL 中。


适用场景

  • 登录
  • 表单提交
  • 创建资源
  • 复杂查询条件

三、PUT 请求

特点

  • 用于更新资源
  • 通常是“整体替换”
  • 幂等

示例

axios.put('/api/user',{id:1,name:'张三',phone:'123456'})

四、PATCH 请求

特点

  • 局部更新
  • 只修改某个字段
axios.patch('/api/user/1',{phone:'999999'})

五、DELETE 请求

特点

  • 删除资源
  • 一般通过 id 删除
axios.delete('/api/user',{params:{id:1}})

六、GET 与 POST 核心区别总结

对比项GETPOST
参数位置URLBody
安全性较低较高
数据长度有限制基本无限制
是否缓存
是否幂等
用途查询提交

使用步骤


一、在 Axios 中的标准写法

统一写法(推荐)

axios({method:'post',url:'/api/user/login',data:{username:'admin',password:'123456'}})

二、什么时候用 GET?

✔ 查询
✔ 不修改服务器数据
✔ 参数简单

例如:

GET/admin/category/page?page=1&pageSize=10

三、什么时候用 POST?

✔ 登录
✔ 提交表单
✔ 创建数据
✔ 查询条件复杂

例如:

POST/admin/employee/login 

四、为什么不能乱用 GET?

如果用 GET 做登录:

GET /login?username=admin&password=123456 

密码会暴露在浏览器地址栏:

  • 不安全
  • 会被浏览器记录
  • 会被代理服务器记录

所以登录必须用 POST。


五、RESTful 设计规范建议

操作方法
查询列表GET
查询单个GET
新增POST
修改PUT
局部修改PATCH
删除DELETE

总结

  1. GET 用于查询,不修改数据
  2. POST 用于提交,修改服务器数据
  3. PUT 是整体更新
  4. PATCH 是局部更新
  5. DELETE 是删除
  6. GET 参数在 URL,POST 参数在 body
  7. 登录、密码、敏感数据一定用 POST

一句话总结:

GET 是“看”,POST 是“改”

参考文献

[1] HTTP/1.1 协议规范
[2] Axios 官方文档

在这里插入图片描述


在这里插入图片描述

Read more

基于Termux的Android平台OpenClaw部署:移动端AI助理实现

基于Termux的Android平台OpenClaw部署:移动端AI助理实现

基于Termux的Android平台OpenClaw部署:移动端AI助理实现 前言 Android作为全球最流行的移动操作系统,拥有庞大的用户基础和丰富的硬件生态。Termux作为Android上的终端模拟器,提供了完整的Linux环境,使得在Android设备上部署OpenClaw成为可能。本文将从环境搭建、性能优化、功耗管理、用户体验等多个维度,详细阐述基于Termux的Android平台OpenClaw部署方案,为移动端AI助理的实现提供完整的技术路线。 这台设备为什么适合跑 OpenClaw 优点 移动设备的便携性 Android设备具有便携性强的特点,可以随身携带,随时使用。OpenClaw部署在Android设备上,可以满足移动办公、现场查询、临时计算等场景需求。相比固定式服务器,Android设备提供了更大的灵活性和便利性。 Termux的Linux环境 Termux提供了完整的Linux环境,包括包管理器、编译工具、运行时环境等。OpenClaw可以在Termux中运行,无需root权限,无需修改系统。Termux的包管理器(pkg)提供了丰富的软件

论文AI率太高不花钱能降吗?免费方案汇总

论文AI率太高不花钱能降吗?免费方案汇总

论文AI率太高不花钱能降吗?免费方案汇总 同门师兄上周找我,说他论文AI率查出来38%,学校要求20%以下。他的原话是:“我一个月生活费就1500,实在不想再在论文上花钱了。” 这个心情我太理解了。查重已经花了一笔,现在又多了个AI检测,感觉毕业成本年年涨。 但实话实说,不花钱降AI率是完全可能的。方法分两类:一类是手动修改技巧,不用任何工具;另一类是用有免费额度的工具。两种方法配合使用,大多数情况下都能解决问题。 先搞清楚:你的AI率到底高不高 在开始降之前,先判断一下你的实际情况。 不同学校的要求不同: * 大部分本科院校要求AI率低于30% * 211/985院校普遍要求低于20% * 部分严格的院校要求低于15% * 硕博论文一般要求低于20% 如果你的AI率只比红线高一点点,比如要求20%你是25%,手动改改可能就够了。但如果差距比较大,比如你是40%以上,光靠手动改效率太低,建议直接用免费工具。 免费方案一:手动修改技巧(零成本) 手动降AI率的核心思路是:破坏AI文本的统计特征。 AI检测算法主要识别这些特征: * 句式结构过于规整

Unity+AI 用一句话制作完整小游戏:飞翔的牛马【AI纯添加-0手工代码】

Unity+AI 用一句话制作完整小游戏:飞翔的牛马【AI纯添加-0手工代码】

* 📢前言 * 🎮Unity+AI 用一句话制作完整小游戏:飞翔的牛马【AI纯添加-0手工代码】 * 一、准备工作 * 1.1 软件安装 * 1.2 使用Unity添加一个工程 * 二、需求描述 * 三、AI制作 * 四、问题反馈 * 五、游玩体验 * 六、图片素材填充 * 七、最终效果 * 八、心得体会 * 💡总结 📢前言 * 之前写过文章介绍怎样使用UnityMCP+Claude进行游戏辅助开发。 * 本文将使用Unity引擎+Claude制作一款 AI纯添加 - 0手工代码 的小游戏:飞翔的牛马。 * 切实上手体验一下 不用自己手敲任何代码 和 不在游戏引擎中进行任何游戏操作 来制作一款完整的小游戏。 🎮Unity+AI 用一句话制作完整小游戏:飞翔的牛马【AI纯添加-0手工代码】 一、

AI5 - 从手动标注到智能打标:AI数据标注工具实战全解析

AI5 - 从手动标注到智能打标:AI数据标注工具实战全解析

在 AI 技术飞速渗透各行各业的当下,我们早已告别 “谈 AI 色变” 的观望阶段,迈入 “用 AI 提效” 的实战时代 💡。无论是代码编写时的智能辅助 💻、数据处理中的自动化流程 📊,还是行业场景里的精准解决方案 ,AI 正以润物细无声的方式,重构着我们的工作逻辑与行业生态 🌱。今天,我想结合自身实战经验,带你深入探索 AI 技术如何打破传统工作壁垒 🧱,让 AI 真正从 “概念” 变为 “实用工具” ,为你的工作与行业发展注入新动能 ✨。 文章目录 * AI5 - 从手动标注到智能打标:AI数据标注工具实战全解析 🧠✨ * 一、为什么我们需要智能打标?🤔 * 1.1 手动标注的痛点 * 1.2 智能打标的崛起 * 二、智能打标系统架构设计 🏗️ * 核心组件说明: * 三、Java 实现智能打标核心逻辑