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