GET和POST的区别
- get参数有长度限制(受限于url长度,具体的数值取决于浏览器和服务器的限制,最长2048字节),而post无限制。
- get请求的数据会附加在url之 ,以 " ? "分割url和传输数据,多个参数用 "&"连接,而post请求会把请求的数据放在http请求体中。
- get是明文传输,post是放在请求体中,但是开发者可以通过抓包工具看到,也相当于是明文的。
- get请求会保存在浏览器历史记录中,还可能保存在web服务器的日志中
从语义的角度:
请求方法 | 描述 | 区别 |
---|---|---|
GET | 获取资源 | 安全的 幂等的 可缓存的 |
POST | 处理资源 | 非安全的 非幂等的 不可缓存的 |
方式 | 描述 |
---|---|
safe(安全) | 不应该引起Server端的任何变化(GET、HEAD、OPTIONS) |
ldempotend(幂等) | 同一个请求方法多次执行和一次执行的效果完全相同 |
cacheable(可缓存性) | 请求是否可以被缓存(绝大多数部分post都是不可缓存的,某些浏览器可能支持post缓存,但get是可以缓存的) |
网友评论