您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页HTTP中Get和Post的区别总结

HTTP中Get和Post的区别总结

来源:爱站旅游

get和post的区别:

get和post都是HTTP协议里的请求方法。

应用层的区别如下:
请求缓存:GET 会被缓存,而post不会
收藏书签:GET可以,而POST不能
保留浏览器历史记录:GET可以,而POST不能
用处:get常用于取回数据,post用于提交数据
安全性:post比get安全
请求参数:querystring 是url的一部分get、post都可以带上。 get的querystring(仅支持urlencode编码),post的参数是放在body(支持多种编码)
请求参数长度:get请求长度最多1024kb,post对请求数据没有

原因:
对于缓存、书签、浏览器记录:归根到底还是请求方式不同 。get使用的url可以完成上述操作,而对于把信息存在请求体body里的post则不行。
对于用处:HTTP协议基于的TCP/IP完成,get,post实质都是TCP链接,但是由于get使用拼接url的方式导致有字符数的,所以容易提交受限(理论上如果不超过字符数也可以完成数据提交),而使用请求体的post则不用担心因字符数而受限。
对于安全性:get的url会被劫持,而post使用请求体则不会。
对于请求参数:两种支持的编码方式不同。
对于参数长度:get请求需要拼接url,由于浏览器自身性能考虑,所以对URL的长度进行。而post是body请求体。

传输层的区别如下:
GET产生一个TCP数据包;POST产生两个TCP数据包。

注意:post比get相对安全,在网络良好的情况下,时间差可以忽视。在网络不好的情况下,post两个包可以更好的保证数据完整性。(不是所有的浏览器post都是两个包,比如Firefox)。

菜鸡一枚 欢迎各位大佬指正!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务