🏠 首页 攻略 HTTP方法是什么?GET POST PUT DELETE 一张图搞懂

HTTP方法是什么?GET POST PUT DELETE 一张图搞懂

HTTP方法就是浏览器和服务器之间的动作指令。GET查数据、POST发数据、PUT改数据、DELETE删数据,搞懂它们才能读懂API。

什么是HTTP方法?

HTTP方法是HTTP协议里最核心的概念之一。它告诉服务器:你要我对这份数据做什么?

打个比方,你去餐厅点餐。服务员拿到的不只是"一份宫保鸡丁"这个订单,还有你的意图——你是要"新增一道菜"还是"把宫保鸡丁改成鱼香肉丝",或者是"退掉这道菜"。HTTP方法就是这个意图。

HTTP定义了8种标准方法,但日常开发中最常用的只有四种:

方法作用类比
GET获取资源查看菜单
POST创建资源下新订单
PUT更新资源修改订单
DELETE删除资源取消订单

每种方法怎么用?

GET — 只读,安全,幂等

GET用来从服务器拿数据。它不会改变服务器的任何状态,只是读取。

GET /api/users/123

这条请求的意思是:“帮我看看ID为123的用户信息。”

三个关键词:

  • 安全:不会修改数据,多调用几次也没副作用
  • 幂等:调一次和调一百次结果一样
  • 参数在URL里GET /api/users?age=25&city=beijing

POST — 提交数据,创建资源

POST用来向服务器发送数据,通常是创建新资源。

POST /api/users
Body: {"name": "张三", "email": "zhangsan@example.com"}

这条请求的意思是:“服务器上创建一个新用户叫张三。”

三个关键词:

  • 不安全:会修改服务器数据
  • 非幂等:调两次就创建两个用户
  • 数据在请求体里:适合传大量数据

PUT — 替换整个资源

PUT用来更新已有资源,而且是用新数据完全替换旧数据。

PUT /api/users/123
Body: {"name": "李四", "email": "lisi@example.com"}

这条请求的意思是:“把ID为123的用户信息全部改成新的。”

三个关键词:

  • 幂等:调一次和调十次结果一样,最终都是那个新数据
  • 全量更新:服务器会用你给的数据完全覆盖旧的
  • 需要知道资源ID:你必须明确告诉服务器改哪个

DELETE — 删除资源

DELETE顾名思义,用来删除服务器上的某个资源。

DELETE /api/users/123

这条请求的意思是:“把ID为123的用户删掉。”

三个关键词:

  • 幂等:删一次和删十次结果一样,都是没了
  • 通常不需要请求体:URL里的ID就够了
  • 可能软删除:很多系统实际是标记为"已删除"而非物理删除

其他常用方法

除了上面四个,还有几个偶尔会遇到:

  • PATCH:部分更新。比如只想改用户名,不用PUT整个用户对象。它和PUT的区别是:PUT是全量替换,PATCH是局部修改。
  • HEAD:和GET一样,但不返回响应体,只返回头部信息。常用于检查资源是否存在。
  • OPTIONS:询问服务器支持哪些方法。跨域请求时浏览器会自动发送。

怎么快速记住?

一个生活化的记忆法:

想象你在操作一个共享文档(类似Google Docs):

  • GET = 打开文档看内容(只读)
  • POST = 新建一个文档(创建)
  • PUT = 把整个文档重写一遍(全量替换)
  • PATCH = 改其中几段话(部分修改)
  • DELETE = 删除这个文档

总结

HTTP方法就是你和服务器沟通时的"动词"。GET、POST、PUT、DELETE构成了RESTful API的基础,理解了它们,你就理解了绝大多数Web API的设计思路。

实际开发中,前端调用API时用的就是这些方法。了解它们的区别,不仅能帮你写出更规范的代码,还能在调试接口问题时快速定位问题所在。

下次看到API文档里的GET /api/xxxPOST /api/yyy,你就知道那不只是个路径,而是一条明确的操作指令。