get和post都是HTTP协议中发送请求的方法,HTTP协议是基于TCP/IP的传输数据的通信协议,本质上来说,get和post请求并无差别,都是TCP连接。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同,技术上来说get可以把参数放到请求体中,post也可以把参数放到URL上,但是浏览器认不认识,服务器处不处理,是另一回事,所以需要规则来有规范性地发送请求,各个请求的方法都有各自的语义、规范及使用场景。
get和post的区别:
1.安全性:post比get更安全,因为ge请求的参数是拼接在URL上(可见),post的参数是在请求体中(不可见);
2.由于安全性的问题,导致使用场景的不同:post一般用于给服务器传送数据(比如添加删除数据),get用于在服务器查询数据;
3.缓存问题:get请求静态资源会缓存起来(数据不会),post请求的资源不会被浏览器缓存;
4.传输的数据类型:get只能能进行URL编码只接受ASCII字符,而post没有限制;
5.传输的长度:get请求在URL上可传递参数的长度有限制(各个浏览器限制不同),post没有;