面试必考:get和post的区别,打破谬论

学习自:http://www.nowamagic.net/librarys/veda/detail/1919


有一篇学习restful特别好的文章https://zhuanlan.zhihu.com/p/30396391?group_id=937244108725641216
我是捂着嘴看完的 生怕发出一声狗叫


正文

get请求和post请求,并没有说,get请求是不可以拥有一个body的

这两个请求是面向HTTP协议的,HTTP协议对于他们并没有这么古怪的约束。而且get请求和post请求在面向数据传输的时候,method和data是正交的两个概念。


HTTP协议明确指出:get和post对长度都没有限制


安不安全和get、post毫无关系。正如上面说的method和data是正交的。安不安全一切看你加密的程度。


硬要说区别,就是post不是幂等的,而且不可缓存。


--------------

时隔许久,参加面试的时候又被问到了。

get post没有太大区别,在低版本HTTP里,都是明文,哪有什么安全性?

post的body只是使得数据不在url中显示,但是body仍然有,而且是明文!

然后get其实也可以拥有body啊!

回想一个请求的组成

请求行+header+body

请求行规定了方法,url,协议。

和有没有body有啥关系?他拿什么去约束不能有body?

我们平时认为没有body,那是因为浏览器和请求框架对于get的限制,他们认为无body、长度受限,我们不能被误导了。

然后回答这几点差不多就ok了。

再完美回答一下restful规范+HTTPS原理,网络协议这一块就问不倒了。

你可能感兴趣的:(网络)