详解Get与Post的区别

一提到Get与Post的区别,大多数人可能第一个想到的是Post更安全,get 比post传输长度更小等。但是这些都太不准确了。
get 和 post 都是基于HTTP的请求方法。而HTTP的request消息格式是由请求头,请求体,空行,请求数据组成。

理解误区:
1、大部分人认为Get请求参数长度(URL)是有限制的,而Post没有限制。实际上,HTTP并没有规定Get的请求参数长度,Get请求参数的长度是被浏览器或者服务器限制的。
2、Get请求也可以带数据,就是把数据放到请求体里面。但是这个数据不一定被读到,因为服务器不同,处理的方式也不同,可能服务器就把数据无视掉了。
3、Post比Get安全性高也是相对而言的。因为相对于Get请求方式,Post是不会把请求页面缓存的,通过历史记录也查不到,并且通过post提交的数据也不都会显示在URL上,但是Get会这样的。而且GET会带来CSRF(Cross site request forgery),不过即使改成POST也没用,还是可能会发生CSRF 攻击下面的文章可以参考:

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Xixibao

Xixibao

More from Medium

Save Room — Familiar Peace

A beginning

Pavan in the Bus

HackTheBox | Forest