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

【AI大模型】DeepSeek + 通义万相高效制作AI视频实战详解

【AI大模型】DeepSeek + 通义万相高效制作AI视频实战详解

目录 一、前言 二、AI视频概述 2.1 什么是AI视频 2.2 AI视频核心特点 2.3 AI视频应用场景 三、通义万相介绍 3.1 通义万相概述 3.1.1 什么是通义万相 3.2 通义万相核心特点 3.3 通义万相技术特点 3.4 通义万相应用场景 四、DeepSeek + 通义万相制作AI视频流程 4.1 DeepSeek + 通义万相制作视频优势 4.1.1 DeepSeek 优势 4.1.2 通义万相视频生成优势 4.2

By Ne0inhk
【DeepSeek微调实践】DeepSeek-R1大模型基于MS-Swift框架部署/推理/微调实践大全

【DeepSeek微调实践】DeepSeek-R1大模型基于MS-Swift框架部署/推理/微调实践大全

系列篇章💥 No.文章01【DeepSeek应用实践】DeepSeek接入Word、WPS方法详解:无需代码,轻松实现智能办公助手功能02【DeepSeek应用实践】通义灵码 + DeepSeek:AI 编程助手的实战指南03【DeepSeek应用实践】Cline集成DeepSeek:开源AI编程助手,终端与Web开发的超强助力04【DeepSeek开发入门】DeepSeek API 开发初体验05【DeepSeek开发入门】DeepSeek API高级开发指南(推理与多轮对话机器人实践)06【DeepSeek开发入门】Function Calling 函数功能应用实战指南07【DeepSeek部署实战】DeepSeek-R1-Distill-Qwen-7B:本地部署与API服务快速上手08【DeepSeek部署实战】DeepSeek-R1-Distill-Qwen-7B:Web聊天机器人部署指南09【DeepSeek部署实战】DeepSeek-R1-Distill-Qwen-7B:基于vLLM 搭建高性能推理服务器10【DeepSeek部署实战】基于Ollama快速部署Dee

By Ne0inhk

用DeepSeek和Cursor从零打造智能代码审查工具:我的AI编程实践

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【星海网址导航】摸鱼、技术交流群👉 点此查看详情 引言:AI编程革命下的机遇与挑战 GitHub统计显示,使用AI编程工具的开发者平均效率提升55%,但仅有23%的开发者能充分发挥这些工具的潜力。作为一名全栈工程师,我曾对AI编程持怀疑态度,直到一次紧急项目让我彻底改变了看法。客户要求在72小时内交付一个能自动检测代码漏洞、优化性能的智能审查系统,传统开发方式根本不可能完成。正是这次挑战,让我探索出DeepSeek和Cursor这对"黄金组合"的惊人潜力。 一、工具选型:深入比较主流AI编程工具 1.1 为什么最终选择DeepSeek+Cursor? 经过两周的对比测试,我们发现不同工具在代码审查场景的表现差异显著: 工具代码理解深度响应速度定制灵活性多语言支持GitHub Copilot★★★☆★★★★★★☆★★★★Amazon CodeWhisperer★★☆★★★☆★★★★★★☆DeepSeek★★★★☆★★★★★★★☆★★★★☆Cursor★★★☆★★★★☆★★★★★★★★ 关键发现: * Dee

By Ne0inhk

DeepSeek各版本说明与优缺点分析_deepseek各版本区别

DeepSeek各版本说明与优缺点分析 DeepSeek是最近人工智能领域备受瞩目的一个语言模型系列,其在不同版本的发布过程中,逐步加强了对多种任务的处理能力。本文将详细介绍DeepSeek的各版本,从版本的发布时间、特点、优势以及不足之处,为广大AI技术爱好者和开发者提供一份参考指南。 1. DeepSeek-V1:起步与编码强劲 DeepSeek-V1是DeepSeek的起步版本,这里不过多赘述,主要分析它的优缺点。 发布时间: 2024年1月 特点: DeepSeek-V1是DeepSeek系列的首个版本,预训练于2TB的标记数据,主打自然语言处理和编码任务。它支持多种编程语言,具有强大的编码能力,适合程序开发人员和技术研究人员使用。 优势: * 强大编码能力:支持多种编程语言,能够理解和生成代码,适合开发者进行自动化代码生成与调试。 * 高上下文窗口:支持高达128K标记的上下文窗口,能够处理较为复杂的文本理解和生成任务。 缺点: * 多模态能力有限:该版本主要集中在文本处理上,缺少对图像、语音等多模态任务的支持。 * 推理能力较弱:尽管在自然语言

By Ne0inhk