1.url传参

get请求把参数放在url上,post请求则是把请求参数放在request body 里面

2.数据传输

get请求过程(GET产生一个TCP数据包):

  1. 1. _浏览器请求tcp连接,即第一次握手_
  2. 2. _服务器应答进行tcp连接,即第二次握手_
  3. 3. _浏览器确认,发送get请求头和数据,即第三次握手_
  4. 4. _服务器返回200 ok响应_

_
post请求过程(POST产生两个TCP数据包):

  1. 1. _浏览器请求tcp链接,即第一次握手_
  2. 2. _服务器应答进行tcp连接,即第二次握手_
  3. 3. _服务器确认,发送post请求头,即第三次握手_
  4. 4. _服务器返回100 Continue响应_
  5. 5. _浏览器发送数据_
  6. 6. _服务器返回200 ok响应_

_

3.缓存性

get请求可以缓存
post请求无法缓存

4.安全性

post请求相对来说会比get请求安全

5.页面回退

get请求回退无影响
post请求回退需要重新提交数据

6.数据类型

get请求url只接受ASCII字符的参数
post请求没有限制

误区:get请求url有长度限制?

原则长,get请求和post请求本质都是tcp链接,http本身是没有对get请求url的长度进行限制,一般是web浏览器会对url的长度有所限制,浏览器通常都会限制url长度在2K个字节