Android面试一问一答:GET、POST

GET、POST有什么区别?

  • POST和GET本质上没有区别。一个用与传递数据,另一个用于修改数据。
  • GET使用URL或Cookie传参。而POST将数据放在BODY中。
  • GET的URL会有长度上的限制,则POST的数据则可以非常大。
  • GET比POST更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。
    。get请求只能进行url编码,而post支持多种编码方式
    。get请求会浏览器主动cache,而post支持多种编码方式。
    。get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留。
  • Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好;而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击。
  • 还有一个重大区别
    。简单的说:
    GET产生一个TCP数据包;POST产生两个TCP数据包。
    。长的说:
    对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
    而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

参考:https://www.jianshu.com/p/b768985824a4
参考:https://www.jianshu.com/p/0cc70fb08647

你可能感兴趣的:(Android面试一问一答:GET、POST)