get 和 post 区别

本文详细探讨了GET和POST请求的本质区别,包括参数传递方式、安全性、幂等性及使用场景,强调了GET请求的幂等性和POST请求的非幂等性特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

一、基本答案

二、GET,POST请求过程有些不同:

三、网友仔细分析后不同的理解

四、拓展:

要克服生活的焦虑和沮丧,得先学会做自己的主人。


一、基本答案

1. GET把参数包含在URL中,POST通过request body传递参数。

2. GET在浏览器回退时是无害的,而POST会再次提交请求。

3. GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

4. GET请求在URL中传送的参数是有长度限制的,而POST没有。

5. GET比POST更不安全,因为参数直接暴露在URL上。

二、GET,POST请求过程有些不同:

1. GET请求,浏览器会把http header和data一并发送出去,服务器响应,返回数据;

2. POST请求,浏览器先发送header,服务器响应100,浏览器再发送data,服务器响应,返回数据

三、网友仔细分析后不同的理解

1. “GET使用URL或Cookie传参,而POST将数据放在BODY中”,这个是因为HTTP协议用法的约定。并非它们的本身区别。

2. “GET方式提交的数据有长度限制,则POST的数据则可以非常大”,这个是因为它们使用的操作系统和浏览器设置的不同引起的区别。也不是GET和POST本身的区别。

3. “POST比GET安全,因为数据在地址栏上不可见”,这个说法没毛病,但依然不是GET和POST本身的区别。

4.终极区别:

GET和POST最大的区别主要是GET请求是幂等性的,POST请求不是。这个是它们本质区别,上面的只是在使用上的区别。

四、拓展:

幂等性:什么是幂等性?幂等性是指一次和多次请求某一个资源应该具有同样的副作用。简单来说意味着对同一URL的多个请求应该返回同样的结果。

正因为它们有这样的区别,所以不应该且不能用get请求做数据的增删改这些有副作用的操作。因为get请求是幂等的,在网络不好的隧道中会尝试重试。如果用get请求增数据,会有重复操作的风险,而这种重复操作可能会导致副作用(浏览器和操作系统并不知道你会用get请求去做增操作)。

 

 

要克服生活的焦虑和沮丧,得先学会做自己的主人。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值