get和post请求的区别
GET请求和POST请求的区别:
1、 get是从服务器上获取数据,post是向服务器传送数据。
2、 get请求时通过URL直接请求数据,数据信息可以在URL中直接看到,比如浏览器访问;而post请求是放在请求头中的,用户无法直接看到。
3、 get传送的数据量较小,有限制,不能大于2KB;这主要是因为它受约于URL长度的限制。post传送的数据量较大,一般被默认为不受限制,但理论上,IIS4中最大量为80KB,IIS5中为100KB。
4、get请求因为数据参数是暴露在URL中的,所以安全性比较低,如密码不能暴露的就不能用get请求;post请求中,请求信息是放在请求头的,安全性较高,可以使用。
以上内容参考 百度百科-HTTP
1、在安全方面
Post请求更安全,get请求的是静态资源,会缓存,如果你是数据的话,就无法缓存下来。
2、在数据类型方面
post请求发送的数据更大且能发送数据类型比较多,,get请求有url长度限制,只能发送ASCII字符。
3、在传输方面
get请求参数通过url传递,,post请求放在request body中传递。
4、在TCP数据包方面
ost请求产生两个TCP数据包,get请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据。
5、在请求过程方面
Post请求,浏览器请求tcp连接属于第一次接触,服务器答应进行tcp连接属于第二次接触,浏览器确认,并发送post请求头属于第三次接触,服务器返回100 Continue响应。
get请求,浏览器请求tcp连接,属于第一次接触,服务器答应进行tcp连接也是第二次接触,浏览器确认,并发送get请求头和数据属于第三次接触,服务器返回200 OK响应。