Files
fuwari-blog/src/content/posts/计算机网络/HTTP中GET和POST的区别是什么.md
2025-09-21 18:38:36 +08:00

1.4 KiB
Raw Blame History

title, published, description, image, tags, category, draft, lang
title published description image tags category draft lang
HTTP中GET和POST的区别是什么 2025-09-21
计算机网络
HTTP
计算机网络 false

HTTP中GET和POST的区别是什么

从HTTP定义看

从HTTP定义看 GET用来获取资源。通常用来请求数据不改变服务器状态 POST用来提交数据到服务器通常会改变服务器状态或者产生副作用比如创建或者更新资源

参数传递

GET是通过URL拼接来实现参数传递的暴露在请求URL中有可见性长度有限。2048字节 POST把参数放在请求体里面通常不可见而且长度理论上也没有限制更适合传递大量数据nginx默认限制为1M

安全性

GET 参数可见,数据容易暴露在浏览器历史记录,日志和缓存中,不适合传递敏感信息。 POST 数据放在请求体中相对安全但需要HTTPS才能保证数据加密传输。

幂等性

GET: 幂等的(重复请求不会改变服务器状态) POST: 非幂等的(多次请求可能导致重复创建资源或者执行多次相同的操作)

RESTful API设计中的角色分工

  • GET 用来查询或者检索资源数据
  • POST 用来创建资源或者执行某些动作
  • PUT和PATCH 用来更新资源 PUT替换整个资源PATCH更新部分资源
  • DELETE: 用来删除资源。