get请求和post请求 理解

1.定义

1、get 和 post请求是http协议中的两种请求方式。
2、get一般用来获取服务器的信息的,post一般是用来更新信息

2.浏览器-get请求和post请求区别

GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。
1、最直观的就是语义上的区别,get请求一般用来请求获取数据;
post请求一般作为发送数据到后台,传递数据,创建数据;

2、get请求也可以传参到后台,但是传递的参数则显示在地址栏,安全性低,且参数的长度也有限制(2048字符);
post请求则是将传递的参数放在request body中,不会在地址栏显示,安全性比get请求高,参数没有长度限制;

3、get请求刷新浏览器或者回退没有影响;
post请求则会重新请求一遍;

4、get请求可以被缓存,也会保留在浏览器的历史记录中;
post请求不会被缓存,也不好保留在浏览器的历史记录中;

5、get请求通常是通过url地址请求;
post常见的则是form表单请求;;

6、get请求会被浏览器主动cache;
而post不会,除非手动设置;

7、对参数的数据类型,get只接受ASCII字符,而post没有限制;

8、get比post更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

3. 浏览器-什么时候用post请求,什么时候用get请求

POST方法:

  • 请求的结果有持续性的副作用,例如,数据库内添加新的数据行。
  • 要传送的数据不是采用7位的ASCII编码。
  • 传输数据过多

get方法:

  • 请求是为了查找资源。
  • 请求结果无持续性的副作用。
  • 收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符。

4. 接口中-什么时候用post请求,什么时候用get请求

这里指微服务间的调用,http协议在微服务中使用比较普遍。
当用HTTP实现接口发送请求时,就没有浏览器中那么多限制了,只要是符合HTTP格式的就可以发。
太自由会造成另一种麻烦,开发人员会不断讨论确定参数通过哪种方式传递,因此就会有一定的接口规范。如REST等。
我工作中的规范如下:

  1. get请求一般用来请求获取数据;
  2. post请求一般作为发送数据到后台,传递数据,创建数据;
posted @ 2022-11-30 15:01  小log  阅读(1325)  评论(0编辑  收藏  举报