# 区别

一般 get用来获取数据,post用来提交数据

  1. 参数, get把参数包含在URL中,post通过request body传递参数。

  2. get参数有长度限制(受限于url长度,具体的数值取决于浏览器和服务器的限制,最长2048字节),而post无限制。

  3. get请求的数据会附加在url之 ,以 " ? "分割url和传输数据,多个参数用 "&"连接,而post请求会把请求的数据放在http请求体中。

  4. get是明文传输,post是放在请求体中,但是开发者可以通过抓包工具看到,也相当于是明文的。

  5. get请求会保存在浏览器历史记录中,还可能保存在web服务器的日志中

# 真相

get在请求时发送一个数据包,会将header和data一起发送过去,而post会产生两个数据包先发送header,服务器返回100,然后在发送data,服务器返回200