post与get的区别(真相)

       现在回头看看自己以前学习get与post的区别,都是片面的,没有真正的理解get与post区别,现在觉得是应该更正一下自己的认知同时希望可以帮助学习接口测试的同学了解这个真相。

1、HTTP RFC文档定义两种请求:

get:用于信息获取,且应该是安全的和幂等的,它相当于我们在数据库中查询操作,不影响数据本身,幂等的含义简单说是发送get请求不改变返回数据的内容;

post:表示可能会修改服务器上资源的请求,它相当于我们在数据库中进行增删改操作;

2、get与post表现形式不同:

get请求数据会附在URL之后(放置在HTTP协议中),以“ ?”分割URL和传输数据,多个参数用&连接;

post请求数据放置HTTP包的body中,头消息与请求体中间空一行进行数据传输;

通用server nginx appache 默认不记录post body,因为http协议是无状态的

3、get请求没有对传输数据大小进行限制,也没有对URL长度进行限制,get取决于两部分:

a、HTTP客户端浏览器自己的限制,如IE,URL长度2083字节,opera长度4050

b、web服务器效率及安全考虑,所以修改Apache、IIS的配置对post提交大小进行限制

4、get安全性非常低,post安全性比较高,这个说法是错误的

在浏览器地址栏看不到并不能说明他安全,如果使用截数据包的工具查看没有加密过去的post请求,同样可以查看post报文内容。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值