GET与POST的区别

GET和POST是HTTP请求报文中常见的两种方法。

  • GET:从指定的资源请求数据
    查询字符串(名称/值对)是在 GET 请求的 URL 中发送的,以?分割URL和传输数据,参数之间以&相连
    如: /test/demo_form.php?name1=value1&name2=value2
  • POST:向指定的资源提交要被处理的数据
    查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的,
    如:POST /test/demo_form.php HTTP/1.1
    Host: runoob.com
    name1=value1&name2=value2

GET与POST的区别:

  1. get在浏览器回退时是无害的,而post会再次提交请求
  2. get产生的url地址可以收藏为书签,而post不行
  3. get请求会被浏览器主动cache,而post不会,除非手动设置
  4. get请求只能进行url编码,而post支持多种编码方式
  5. get请求参数会被完整保留在浏览器历史记录里,而post中的参数不会被保留
  6. get请求在url中传送的参数是有长度限制的,因为URL 的长度是受限制的,而post没有限制
  7. 对参数的数据类型,get只接受ASClI字符,而post没有限制
  8. post比get更安全,因为get参数直接暴露在url上,所发送的数据是 URL 的一部分,所以不能用来传递敏感信息
  9. get参数通过url传递,post的参数放在request body中

在实际中,GET和POST的本质是一样的,它们都是 HTTP 请求协议的请求方法,而 HTTP 又是基于TCP/IP的关于数据如何在万维网中如何通信的协议,所以 GET/POST 实际上都是 TCP 链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值