GET请求和POST请求的区别

        平时在我们写代码的过程中我们无数次用到get和post请求,以及针对他们我们修改了无数次的bug,我们虽然经常使用,如果别人问我们get和post请求的区别,也许我们只能很浅显的回答。

下面让我们来对比一下它们的区别吧:

*  在浏览器进行回退操作时,get请求是无害的,而post请求则会重新请求一次

get请求参数是连接在url后面的,而post请求参数是存放在requestbody内的

*  get请求因为浏览器对url长度有限制(不同浏览器长度限制不一样)对传参数量有限制,而post请求因  为参数存放在requestbody内所以参数数量没有限制(事实上get请求也能在requestbody内携带参数, 只不过不符合规定,有的浏览器能够获取到数据,而有的不能)

*  因为get请求参数暴露在url上,所以安全方面post比get更加安全

*  get请求浏览器会主动cache,post并不会,除非主动设置

*  get请求参数会保存在浏览器历史记录内,post请求并不会

*  get请求只能进行url编码,而post请求可以支持多种编码方式

感觉怎么样?觉得回答的很好了吧,哈哈,如果在面试中遇到这个问题,或许这并不仅仅是面试官想听的答案。

get和post是HTTP协议中的两种发送请求的方法,而HTTP又是什么呢?

HTTP是:基于TCP/Ip的关于数据如何在万维网中如何通信的协议。HTTP的底层原理是TCP/Ip,而get和post的底层也是TCP/Ip,那么它们的区别到底在哪里呢?

get和post最大的区别:

get产生一个TCP数据包 ;post产生两个TCP数据包。

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

对于post方式的请求:浏览器会先发送header,服务器响应 100,浏览器再次发送data,服务器响应 200(返回数据)

你可能感兴趣的:(GET请求和POST请求的区别)