Get 请求和 Post 请求的区别
-
在浏览器进行回退操作时,
get请求是无害的,而post请求则会重新请求一次 -
get请求参数是连接在url后面的,而post请求参数是存放在request body内的 -
get请求因为浏览器对url长度有限制(不同浏览器长度限制不一样),所以对传参数量有限制;而post请求因为参数存放在 request body 内,所以参数数量没有限制。(事实上,get请求也能在request body携带参数,只是不符合规定,有的浏览器能够获取到数据,而有的不能) -
因为
get请求参数暴露在url上,所以安全方面post比get更加安全 -
get请求浏览器会主动cache,除非主动设置否则post并不会 -
get请求只能进行url编码,而post请求可以支持多种编码方式 -
get请求产生一个tcp数据包,post请求产生两个tcp数据包浏览器在发送
get请求时会将header和data一起发送给服务器,服务器返回200状态码;而在发送post请求时,会先将header发送给服务器,服务器返回100,之后再将data发送给服务器,服务器返回200 OK。
