POST 和 GET 的本质区别浅读

177 阅读1分钟
  1. get,post是http协议中的两种发送请求的方法。底层是TCP/IP,能做到的事情都是相同的。HTTP定了服务类型,get传输数据放url,post放在body。get请求的url传参有长度限制(大多数浏览器限制2k字节,最多处理64k大小的url,存的服务器不一定会对get里body进行处理),而post没有。get请求参数只能是ASCLL码,所以中文要url编码,而post请求传参没有这个限制。
  2. get请求产生一个TCP数据包,post产生两个。对于get,浏览器将http hender(消息头)和data一并发送,服务器响应200(返回数据)。
    对于post,先发送 hender,响应100 coutinue,再发data,响应200(Firefox只发送一次)。

    PS:get请求不能优化post请求,网络差的情况下,两次发包有大有点。
      get和post都不安全,要加密https。