get和post的区别

get和post的区别?

1)get请求是通过给url添加查询字符串发送请求参数,不安全;post请求是通过请求体发送的,安全性比较高。
2)get在浏览器回退时不用发送请求,而post会再次提交请求。
3)get请求参数的url地址可以被bookmark(添加为书签),而Post不可以。
4)get请求会被浏览器自动cache,post请求不会,除非手动设置。
5)get请求只能进行url编码,而post支持多种编码方式。
6)get请求在url中传送的参数是有长度限制的(大概255字节),而post没有限制。
其实post和get在本质上没有区别,都是TCP链接,但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。
get和post最大的区别:
get产生了一TCP数据包,post产生两个TCP数据包。
对于get请求,浏览器会报http header和data一并发送出去,服务器响应200返回数据;
而对于post请求,浏览器会先发送header,服务器响应100continue,浏览器再发送data,服务器响应200返回数据。
因此有人认为可以将post请求换位get来优化网站的性能,其实是不可以的。原因如下:
1)get和post都有自己的语义,不能混用。
2)网络环境好的时候,发送一次包和发送两次包事件的差别基本可以无视,而在网络环境差的情况下,两次包的TCP在验证数据包的完整性上,有非常大的优势。
3)并不是所有浏览器都会在post中发送两次包,firefox就只发送一次。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 觉得写的非常棒的一篇博文,很生动: GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发...
    贰爷阅读 614评论 0 3
  • 大家在面试时一般都会都被问到post和get有什么区别,肯定很多同学都会和我一样想到一大堆什么post比get安全...
    胡自鲜阅读 888评论 0 3
  • GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是...
    王闲森阅读 1,312评论 2 21
  • 囚徒困境博弈作为一种经济学模型,已经在人类社会各个领域得到了广泛的应用。在此,我简单做一下科普,旨在能够让大家在处...
    琴韵诗心阅读 1,063评论 3 2
  • 青春经不起回忆,因为当你开始回忆青春的时候,代表着你已经开始远离青春,也意味着青春逝去永不再来。 还记得小时候总爱...
    甜甜的小可阅读 254评论 0 6

友情链接更多精彩内容