一、协议层基础对比
特性 | GET | POST |
---|---|---|
HTTP语义 | 获取资源(Safe & Idempotent) | 提交数据(Non-idempotent) |
参数位置 | URL查询字符串 | 请求体(Body) |
数据长度 | 受URL长度限制(浏览器约2KB-8KB) | 理论上无限制 |
缓存机制 | 可被缓存 | 默认不缓存 |
浏览器回退 | 无害 | 会重新提交数据 |
二、抓包实验揭秘
1. 原始报文对比
-
GET请求示例
http
复制
GET /search?q=test&page=2 HTTP/1.1 Host: api.example.com
参数直接暴露在URL中(浏览器历史/服务器日志可见)
-
POST请求示例
http
复制
POST /login HTTP/1.1 Host: api.example.com Content-Type: ap