【前端】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

VRCT完整使用指南:5分钟掌握VRChat跨语言交流神器

在VRChat的全球化社区中,语言障碍常常成为国际交流的瓶颈。VRCT(VRChat Chatbox Translator & Transcription)作为一款专为VRChat设计的智能辅助工具,通过实时语音转录和多语言翻译功能,让来自世界各地的玩家能够无障碍沟通。这款免费开源工具让语言不再是VR社交的障碍!✨ 【免费下载链接】VRCTVRCT(VRChat Chatbox Translator & Transcription) 项目地址: https://gitcode.com/gh_mirrors/vr/VRCT 核心功能概览 智能语音识别系统 VRCT采用先进的语音识别技术,能够准确捕捉并转换麦克风输入和扬声器输出的音频内容。无论是个人发言还是他人对话,系统都能实时转录为文字,特别适合记录重要对话或回顾交流内容。 主要特性包括: * 实时音频流处理 * 多语言自动检测 * 智能噪音过滤 * 动态阈值调整 多语言实时翻译引擎 支持英语、中文、日语、韩语等多种语言间的即时互译。用户可以根据自己的语言习惯灵活设置源语言和目标语言,系统支持双向转换,确保对话

OpenClaw实战系列01:OpenClaw接入飞书机器人全接入指南 + Ollama本地大模型

文章目录 * 引言 * 第一步:环境准备与核心思想 * 第二步:部署Ollama——把大模型“养”在本地 * 1. 安装 Ollama * 2. 拉取并运行模型 * 3. 确认API可用性 * 第三步:安装OpenClaw——AI大脑的“躯干” * 1. 安装Node.js * 2. 一键安装 OpenClaw * 3. 验证安装 * 第四步:打通飞书——创建并配置机器人 * 1. 创建飞书应用 * 2. 配置机器人能力 * 3. 发布应用 * 第五步:OpenClaw与飞书“握手” * 方法一:使用 onboard 向导重新配置(推荐最新版) * 方法二:手动添加渠道 * 批准配对 * 第六步:实战测试与玩法拓展

Qwen3-32B开源模型实战:Clawdbot Web网关配置与跨域/CORS问题解决

Qwen3-32B开源模型实战:Clawdbot Web网关配置与跨域/CORS问题解决 1. 为什么需要Web网关与跨域处理 你是不是也遇到过这样的情况:本地跑通了Qwen3-32B模型,Ollama服务正常响应,Clawdbot前端页面也能打开,但一点击发送按钮,控制台就报错——CORS policy: No 'Access-Control-Allow-Origin' header is present? 这不是模型没跑起来,也不是代码写错了,而是浏览器在“多管闲事”:它默认禁止网页向不同源(协议、域名、端口任一不同)的后端发起请求。而我们典型的开发结构是—— * 前端页面运行在 http://localhost:3000(Clawdbot Web界面) * Ollama API 默认监听 http://localhost:11434/api/chat * 中间又加了一层代理转发到 18789 端口 三者端口全不一致,浏览器直接拦截请求,

Qwen2.5-1.5B部署案例:为视障用户定制语音交互前端+Qwen本地后端

Qwen2.5-1.5B部署案例:为视障用户定制语音交互前端+Qwen本地后端 1. 为什么这个部署方案特别适合视障用户? 你可能没想过,一个轻量级大模型的本地部署,竟能成为视障朋友日常生活中最自然的“对话伙伴”。这不是在云端调用API、不是依赖网络连接、更不是把语音转成文字再发给远程服务器——它从头到尾都在你自己的电脑里完成:语音输入 → 文字理解 → 本地推理 → 语音输出。全程离线、零延迟、不上传任何一句话。 关键在于,它把“看不见”这件事,转化成了对交互方式的重新设计。没有按钮、不需要鼠标定位、不依赖视觉反馈,只要开口说话,就能获得准确回应。而这一切,靠的不是昂贵硬件或复杂系统,而是一个仅1.5B参数的模型,加上几行精心编排的Python代码。 我们没做炫酷的UI动效,也没堆砌一堆功能开关。相反,我们砍掉了所有非必要环节:不用登录、不记账号、不联网、不弹窗、不收集设备信息。整个流程就像和一位熟悉的朋友聊天——你说,它听,它想,