GET和POST有哪些区别?

GET和POST有哪些区别?

  • GET请求参数是通过URL传递的;POST请求的参数放在请求体中。
  • GET请求比POST请求更不安全,因为URL直接暴露在URL中,所以GET请求不能够用来传递敏感信息。
  • GET请求在URL中传递的参数是有长度限制的(在HTTP协议中并没有对URL的长度进行限制,限制是在特定的浏览器以及服务器对它的限制,不同浏览器限制的长度不同);POST没有。
  • GET请求参数会完整的保留在浏览器的历史记录中;POST请求的参数不会保留。
  • GET请求进行URL编码(百分号编码);POST请求支持多种编码方式。
  • GET请求产生的URL地址是可以被存书签的;POST请求不可以。
  • GET请求在浏览器回退的时候是无害的;POST请求会再次提交数据。
  • GET请求在浏览器中可以被主动缓存;POST不会,可以手动设置。

更深入了解GET和POST

GET和POST是什么?

  • HTTP协议中有两种发送请求的方法,本质都是在进行TCP连接。

GET和POST有一个重大的区别

  • 简单说:GET产生一个TCP数据包;POST产生两个TCP数据包。
  • 复杂说:对于GET方式的请求,浏览器会把header和data一起发送出去,服务器响应200(状态码);对于POST请求,浏览器先发送header,服务器响应100(已经收到请求的第一部分,正在等待其余部分),浏览器再次发送data,服务器返回200。

是不是POST请求需要两步,时间上的消耗会比GET请求更多?

  • GET请求和POST请求都有自己的语义,不能够随便混用。
  • 在网络环境好的情况下,发送一次包的时间和发送两次包的时间差别基本可以无视,在网络环境差的情况下发送两次包的TCP在验证数据的完整性上,有非常大的优势。
  • 并不是所有的浏览器都会在POST请求中发送两次包。比如:火狐浏览器
  • 所以POST请求时间上的消耗并不会比GET请求更多。
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值