一、get与post请求是什么?
get和post是http协议发送请求获取服务器数据的两种方法。
二、get与post请求的区别
1.用途:GET请求主要用于从服务器获取数据,而POST请求则主要用于向服务器提交或更新数据。
2.参数位置:GET请求的参数是包含在URL中的,而POST请求的参数则是放在请求体中。
3.安全性:由于GET请求的参数直接暴露在URL中,因此相对来说不如POST请求安全。
4.数据长度:GET请求发送数据有长度限制,而POST请求发送数据则没有长度限制。
5.缓存:GET请求完成后,浏览器会将结果缓存;而POST请求完成后,浏览器则不会进行缓存。
6.历史记录:GET请求会被保留在浏览器的历史记录中,而POST请求则不会被保留在浏览器历史记录中。
7.编码方式:GET请求只支持URL编码,而POST请求则支持多种编码方式,例如application/json、application/x-www-form-urlencoded、multipart/form-data、text/xml、数据流等。
8.书签:GET请求可被保存为书签,而POST请求则不能。
9.对数据类型的限制:GET请求数据类型只支持ASCII 字符,POST请求没有限制,也允许二进制数据。
除此之外:
1.GET 和 POST都是http请求方式, 底层都是 TCP/IP协议;通常GET 产生一个 TCP 数据包;POST 产生两个 TCP 数据包(但firefox是发送一个数据包)
2.对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应 200
(返回数据)表示成功;而对于 POST,浏览器先发送 header,服务器响应 100, 浏览器再继续发送 data,服务器响应 200 (返回数据)。