转载
前言
1、Post和Get本质上是一样的
2、Post和Get都是Http 请求的基本方法
区别
- Get 请求在浏览器刷新或者回退的时候是无害的。但Post请求数据会被重新提交。
- Get 会将数据存在浏览器历史中,Post 不会
- Get 可以被书签收藏,Post 不行
- Get 可以存在缓存中,Post 不行
- Get 编码格式只能用 ASCII 码,Post没有限制
- Get 数据类型 urlencode,Post 是urlencode,form-data
- 可见性,Get 参数再 URL用户可以看见,Post的参数再Request Body 中不会被用户看见。
- 安全性,Get相对不安全,Post相对安全(安全还是看https协议)
- 长度,参数一般限制 2048 (和 web 服务器相关),Post 参数无限制
Get 和 Post 在请求时的区别
- Get 是将数据中的 hearder 和 data 一起发送给服务器,返回200code
- Post 是先将hearder 发送给服务器返回100 continue,在发送data到服务器返回 200
- Get 就发送了一个TCP 数据包给服务器 而Post发送了两次TCP数据包给服务器。
- Get 和 Post 是已经有定义好的说明的,最好不混用
Get 和 Post 本质上是一样的,Get 可以加Request Body,Post 也可以在URL中添加参数!