Http协议中的get和post两种请求方法的区别

get和post的区别


区别就是一个词:
        ~~~~~~~        大同小异(本质上来说都是TCP链接,并无区别;但具体的格式、规定限制又有所不同)。

具体如下:

1.本质

GETPOST是什么?
        ~~~~~~~        HTTP协议中的两种发送请求的方法。

HTTP协议是什么?
        ~~~~~~~        HTTP是基于TCP/IP的网络传输的应用层协议。

可以看到实际都是同一个传输层协议,都是TCP链接,无实质区别。

2.区别

  • 报文格式上:
            ~~~~~~~        不带参数时,区别只是请求行的前几个字符(方法名)不同;
            ~~~~~~~        带参数时,get方法的参数应该放在 url 中(参数是写在 ? 后面,用 & 分割),post方法参数应该放在请求体(body)中。
    如果服务器支持,在post请求的url中写上参数,在get请求的body中写上参数,也是可以的,这样二者就在格式上没有区别了,只不过get方法不能保证body一定能被接收。

在此处将引出来一个问题:
post 方法比 get 方法安全?
post比get安全体现在数据在地址栏(url)不可见,这是显示表现;从传输的角度来说,都是不安全的,HTTP 在网络上是明文传输的,只要在网络节点上抓包,就能完整地获取数据报文。要起安全就只有加密,也就是 HTTPS。

  • 使用上:
            ~~~~~~~        与post相比,get更简单也更快,并且在大部分情况下都能用。但在以下情况中,请使用 POST 请求:
    (1) 无法使用缓存文件(更新服务器上的文件或数据库)
    (2) 向服务器发送大量数据(post没有数据量限制,url的最大长度为2048个字符)
    (3) 发送包含未知字符的用户输入时,post比get更稳定也更可靠(get方法数据类型只能是ASCII字符)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值