GET和POST的区别

1,get 没有 post 更加安全

2,get 只能在url中可以添加参数 。post的参数在body中。

3,get参数的长度有限,post的参数长度无限制。

很可惜以上的三个区别都是错的,下面一个一个进行分析。

 

1,get 没有 post 更加安全

        这是一种以五十步笑百步的言论,post 相对于 get 的安全仅仅体现在post将参数放在body中,用户看不到,

        但是只要是稍微懂一点的用户就可以用抓包的方式进行抓取body参数。一样是不安全的。安不安全一切看你加密的程度。

 

2,get 只能在url中可以添加参数 。post的参数在body中。

       在http协议中并没有这样的这样的规定,给get方法加入body参数,给post方法加入URL参数在计数上完全是可行的。

       在HTML标准中找到了相似的说法,其实这只是html标准对于http协议的约定,不能作为get和post的区别。

 

3,get参数的长度有限,post的参数长度无限制。

       http对 ge t和 post 的长度都没有限制,但是在业界有个 不成文的规定,就是将URL的长度控制再2k一下。

      这样有利于提高效率。

 

总结:

        其实 get  和 post 在 本质上并没有什么区别,都是基于TCP/IP 的连接,

         只是由于http协议 和浏览器服务器具有不同的限制,导致出现不同特征。

GET和POST还有一个重大区别

GET产生一个TCP数据包;POST产生两个TCP数据包。

  • 对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

  • 而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值