当前位置:   article > 正文

GET和POST的区别

get和post的区别

GET和POST的区别主要有以下五点:

  1. GET和POST最本质的区别是规范上的区别:在规范中,定义GET请求是用来获取资源的,也就是进行查询操作的;而POST请求是用来传输实体对象的,因此会使用POST来进行添加、修改和删除等操作。

  2. GET请求参数通过URL传递,而POST的参数放在请求体中。

  3. GET请求可以直接进行回退和刷新,不会对用户和程序产生任何影响,而POST请求如果直接回滚和刷新将会把数据再次提交。

  4. GET请求一般会被缓存,比如常见的CSS、JS、HTML请求等都会被缓存;而POST请求默认是不进行缓存的

  5. GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

补充:

GET产生一个TCP数据包;POST产生两个TCP数据包。
对于GET方式的请求,浏览器会把请求头和请求体一并发送出去;
而对于POST,浏览器先发送请求头,服务器响应100状态码,浏览器再发送请求体;

有些文章中提到,POST会将 header 和 body 分开发送,先发送 header,服务端返回 100 状态码再发送 body。

HTTP 协议中没有明确说明 POST 会产生两个 TCP 数据包,而且实际测试发现(谷歌浏览器),header 和 body 不会分开发送。

所以,header 和 body 分开发送是部分浏览器或框架的请求方法,不属于 POST必然行为。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/183956
推荐阅读
  

闽ICP备14008679号