get和post请求的区别

210 阅读1分钟
Tcp相当于一个公路,公路上有许多车,为了区分他们,于是给他们贴上了get和post标签,贴有get标签的车一般将货物放在车顶(url)中,贴有post 便签的车一般将货物放在车厢中(请求体中)。

当然你也可以将货物放在get的车厢中和post的车顶中,只不过这样会看起来傻夫夫的。

get只需要请求一次,而post需要请求两次。post请求相当于装着一车货物告诉服务器,你明天可以来接我吗,然后就带着一车货物回家了,等服务器回答可以的时候又带着一车货物跑出来。

在不同的服务器中对get和post的解析不同,有的会去看一看get的车厢内有没有被偷偷放货物,有的不会。

所以,他们的区别是:

1.在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。

2.GET与POST都有自己的语义,不能随便混用。

3.并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。