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

Spring Cloud + AI:微服务架构下的智能路由、故障自愈、日志分析

Spring Cloud + AI:微服务架构下的智能路由、故障自愈、日志分析

在云原生时代,微服务架构的复杂性带来了路由决策、故障恢复、日志排查三大痛点。将 AI 能力融入 Spring Cloud 生态,可以显著提升系统的自适应能力和运维效率。本文将围绕智能路由、故障自愈、智能日志分析三大场景,给出完整的架构设计与代码实现。 一、整体架构 智能路由 智能路由 智能路由 指标上报 指标上报 指标上报 实时指标 服务状态 路由权重 熔断指令 日志输出 日志输出 日志输出 异常日志 告警/报告 客户端请求 Spring Cloud Gateway + AI 路由策略 服务 A 服务 B 服务 C Nacos 服务注册中心 Prometheus + Grafana AI

量化、算子融合、内存映射:C语言实现AI推理的“三板斧“

量化、算子融合、内存映射:C语言实现AI推理的“三板斧“

量化、算子融合、内存映射:C语言实现AI推理的"三板斧" 摘要:做嵌入式AI开发的同学,大概率都遇到过这样的困境:训练好的AI模型(比如CNN),在PC上用TensorFlow/PyTorch跑起来流畅丝滑,可移植到单片机、MCU等边缘设备上,要么内存爆掉,要么推理延迟高到无法使用——毕竟边缘设备的资源太有限了:几百KB的RAM、几MB的Flash、没有GPU加速,甚至连浮点运算都要靠软件模拟。这时,依赖庞大的深度学习框架就成了“杀鸡用牛刀”,甚至根本无法运行。而C语言,作为嵌入式开发的“母语”,凭借其极致的性能控制、内存可控性和无 runtime 依赖的优势,成为边缘设备AI推理引擎的最佳选择。但纯C语言实现AI推理,绝不是简单地“用C重写框架代码”,关键在于掌握三大核心优化技术——这就是我们今天要讲的AI推理“三板斧”:量化、算子融合、内存映射。 它们三者协同作用,能从“体积、速度、内存”三个维度彻底优化AI推理性能:

将 Zed 集成到 Bright Data Web MCP,让 AI 编辑器具备“超能力”

将 Zed 集成到 Bright Data Web MCP,让 AI 编辑器具备“超能力”

还在苦恼 AI 助手的知识库永远停留在“过去时”吗?无论使用 Claude 还是 GPT,无法访问实时网页始终是开发者查阅最新文档、API 变更时的痛点。 本期视频为你带来硬核实战:将高性能 Rust 编写的 Zed 编辑器与 Bright Data Web MCP 无缝集成,彻底打破 AI 的信息孤岛 。 将 Zed 集成到 Bright Data Web MCP 专属链接:https://www.bright.cn/blog/ai/zed-with-web-mcp/?utm_source=brand&utm_campaign=brnd-mkt_cn_ZEEKLOG_

2026 年 Python AI 大模型部署全攻略:本地运行 + API 服务 + Docker 封装

2026 年 Python AI 大模型部署全攻略:本地运行 + API 服务 + Docker 封装

随着开源大模型的爆发式增长,2026 年在本地与服务端部署 AI 大模型已成为开发者的核心技能。本文将从本地运行、API 服务化、Docker 容器封装三个维度,给出完整的生产级部署方案。 一、整体架构概览 开发调试 团队协作 生产交付 模型选择与下载 部署方式 本地直接运行 API 服务化 Docker 容器封装 llama.cpp / vLLM / Ollama FastAPI + vLLM / TGI Dockerfile + docker-compose 性能调优 监控与运维 二、模型选型与技术栈(2026 主流方案) 维度推荐方案适用场景本地推理llama.cpp / Ollama个人开发、低资源环境GPU 推理vLLM / TGI高并发、低延迟API 框架FastAPI轻量、高性能容器化Docker + NVIDIA Container Toolkit标准化部署编排docker-compose