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

37 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: HTTP中GET和POST的区别是什么
published: 2025-09-21
description: ''
image: ''
tags: [计算机网络,HTTP]
category: '计算机网络'
draft: false
lang: ''
---
# 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: 用来删除资源。