Get与Post
一. 区别
-
get用来获取数据,post用来提交数据 -
get参数有长度限制(受限于url的长度,具体的数值取决于浏览器和服务器的限制,最长2048字节)post无长度限制 -
get请求的数据会附加在url之后,以?来分割url和参数,多个参数用&来连接,post请求会把请求的数据放在http请求体中 -
get是明文传输,post是放在请求体中,但是开发者可以通过抓包工具看到,也相当于是明文的 -
get请求会保存在浏览器的历史记录中,还可以保存在web服务器的日志中 -
get产生一个tcp数据包,post产生两个tcp数据包
二.安全性
首先,
get和post在本质上都是tcp链接,但由于http协议和浏览器或者服务器的限制,从而使他们在应用过程中产生了差别,但是它们中还有一个较大的区别:get在请求时发送一个数据包,会将header和data一起发送过去,而post会产生两个数据包,先发送header,服务器返回100,然后再发送data,服务器返回200
所以当你一层一层的把get和post剖析到底,你会发现他们的本质就是tcp连接,没有啥区别,只是由于http协议规定和浏览器或者服务器的限制,导致他们在应用过程中体现形式不同
\