Get 和 Post 的区别

  get 和 post 是 http 中最常用的两个方法。今日整理了一下两者的区别

  • 请求方式:

  get 方法一般用于请求,主要特征是请求服务器返回资源。get相当于一个 pull(拉)的操作。post 方法用于表单的提交,相当于把信息提交给服务器,等待服务器做出响应。post 相当于 push(推)的操作。

  • 安全性:

  get 方法不够 post 安全,因为参数在url上容易暴露参数。post 方法的参数放在请求体中,对用户不可见,更安全。

  • 参数长度限制:

  get 的请求url有长度限制(这个限制是特定的浏览器及服务器对它的限制。 如:IE对URL长度的限制是2083字节),而post 数据放在消息体中对长度没有限制

  • 缓存自动清除:

  get会被浏览器主动清除缓存,而post不会。

  • 数据包数:

  get请求在发送过程中会产生一个TCP数据包,而 post 在发送过程中会产生两个TCP数据包。

  • 浏览器发送方式:

  get请求时,浏览器会把 http header 和 data 一并发出去,服务器响应 200;而post 请求是浏览器先发送 header ,服务器响应 100 continue,浏览器再发送 data,服务器响应200。

  以上是我今日的整理,参考来自:https://mp.weixin.qq.com/s/qetBsYmDqwi_nJVnKmBw8Q

原文地址:https://www.cnblogs.com/smallzhen/p/14091659.html