论get和post的区别。。

论get和post的区别。。。

以下是本人收集的一些区别

w3c给出的标准答案是:

  1. get在浏览器回退时是无害的,post则会再次提交请求。

  2. get产生的url地址可以被收藏书签,post不可以。

  3. get请求会被浏览器主动cache,post不会,除非手动设置。

  4. get请求只能进行url编码,post支持多种编码方式。

  5. get请求参数会被完整保留在浏览器历史记录里,post中的参数不会被保留。

  6. get请求在url中传送的参数是有长度限制的,post没有。

  7. 对参数的数据类型,get只接受ascll字符,post没有限制。

  8. get比post更不安全,因为参数直接暴露在url中,所以不能用来传送敏感信息。

  9. get参数通过url传递post则放在Request body中。

然而这种答案有时候并不是面试官想要的答案。

实际上get和post并没有什么本质上的区别,因为两个都是http的tcp链接。但是由于http的规定和浏览器、服务器的限制,导致他们在应用过程中体现出了一些不同。

get和post的不同点是:

get只会产生一个tcp数据包;post则会产生两个数据包,所以get的速度比post的要快。 但是在网络环境好的情况下get和post的速度并没有多少差别,而在网络环境不好的情况下,post的两个数据包在完整性上要比get要好。 而且并不是所有的浏览器都会在post中发送两次数据包,火狐浏览器Firefox就只发送一次。

需要注意的是get和post都有自己的语义,不能随意混用。

原文地址:https://www.cnblogs.com/fengzhishang/p/10488179.html