GET和POST的区别

GET和POST请求的区别

GET和POST是HTTP请求的两种发送方式,其本质上并没有多大区别。HTTP的底层是TCP/IP协议,所以GET和POST底层实现也是TCP/IP协议,也就是GET和POST都是TCP连接,GET和POST做的事情都是一样的。如果在GET上加上request body,POST上加上url在技术上完全是可行的。

但是GET和POST在一些表现上还是有区别的。主要体现在以下几个方面:

  • GET请求在URL中传送的参数是有长度限制的,POST没有
  • GET会将参数直接显示在URL上,所以POST更为安全
  • GET参数传递通过URL,POST参数传递通过request body
  • GET请求参数记录会被保留在浏览器记录中,POST不会
  • POST支持多种编码方式
  • POST在回退的时候会再次提交数据,GET不会
  • 在某些浏览器下,GET只会发送一次数据包,而POST需要发送两次