一、定义
1、get 和 post请求是http协议中的两种请求方式。
2、get一般用来获取服务器的信息的,post一般是用来更新信息。
二、区别
1、get请求一般用来请求获取数据
post请求一般作为发送数据到后台,传递数据,创建数据
2、get请求也可以传参到后台,但是传递的参数则显示在地址栏,安全性低,且参数的长度也有限制(2048字符)
post请求则是将传递的参数放在request body中,不会在地址栏显示,安全性比get请求高,参数没有长度限制
3、get请求刷新浏览器或者回退没有影响
post请求则会重新请求一遍
4、get请求可以被缓存,也会保留在浏览器的历史记录中
post请求不会被缓存,也不好保留在浏览器的历史记录中
5、get请求通常是通过url地址请求
post常见的则是form表单请求
6、GET 和 POST都是http请求方式, 底层都是 TCP/IP协议;
通常GET 产生一个 TCP 数据包;POST 产生两个 TCP 数据包(但firefox是发送一个数据包),
7、get产生的URL地址可以被Bookmark
而post不可以
8、get请求会被浏览器主动cache
而post不会,除非手动设置
9、对参数的数据类型,get只接受ASCII字符,而post没有限制。
10、get比post更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
11、对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应 200
(返回数据)表示成功;
而对于 POST,浏览器先发送 header,服务器响应 100, 浏览器再继续发送 data,服
务器响应 200 (返回数据)。