GET和POST请求的对比

GET和POST有区别吗?
get也可以将数据放在body中,get也能添加数据,post也可能只是简单查询
所以:get和post本质没有区别,仅在使用习惯上有区别。

我这样理解对吗,请各位大佬点评一下,因为最近面试偶尔会遇到,答完面试官也没啥反应
全部评论
小林coding的解释: GET 和 POST 是 HTTP 协议中两种常用的请求方法,它们在不同的场景和目的下有不同的特点和用法。一般来说,可以从以下几个方面来区分二者(重点搞清两者在语义上的区别即可): 语义(主要区别):GET 通常用于获取或查询资源,而 POST 通常用于创建或修改资源。 幂等:GET 请求是幂等的,即多次重复执行不会改变资源的状态,而 POST 请求是不幂等的,即每次执行可能会产生不同的结果或影响资源的状态。 格式:GET 请求的参数通常放在 URL 中,形成查询字符串(querystring),而 POST 请求的参数通常放在请求体(body)中,可以有多种编码格式,如 application/x-www-form-urlencoded、multipart/form-data、application/json 等。GET 请求的 URL 长度受到浏览器和服务器的限制,而 POST 请求的 body 大小则没有明确的限制。不过,实际上 GET 请求也可以用 body 传输数据,只是并不推荐这样做,因为这样可能会导致一些兼容性或者语义上的问题。 缓存:由于 GET 请求是幂等的,它可以被浏览器或其他中间节点(如代理、网关)缓存起来,以提高性能和效率。而 POST 请求则不适合被缓存,因为它可能有副作用,每次执行可能需要实时的响应。 安全性:GET 请求和 POST 请求如果使用 HTTP 协议的话,那都不安全,因为 HTTP 协议本身是明文传输的,必须使用 HTTPS 协议来加密传输数据。另外,GET 请求相比 POST 请求更容易泄露敏感数据,因为 GET 请求的参数通常放在 URL 中。 再次提示,重点搞清两者在语义上的区别即可,实际使用过程中,也是通过语义来区分使用 GET 还是 POST。不过,也有一些项目所有的请求都用 POST,这个并不是固定的,项目组达成共识即可。
4 回复 分享
发布于 03-16 16:38 上海
本质上没有区别,语义上有区别,你也可以把get当post用
点赞 回复 分享
发布于 03-16 22:40 湖北

相关推荐

1假设一个队列需要删除其中一个节点,应该怎么去操作它?2那你是调用这个链表它本身提供的接口吗?那它该接口的底层大概是怎么实现的?3二分查找法,如果要计算时间复杂度,应该怎么去计算?4了解快排的时间复杂度应该怎么计算?5它的这个计算的复杂度,是稳定性的吗。6假如说有一连串的计算表达式1+ 2 * (3 + 5)/ (6 + 3)。这样的计算表达式,要计算它的数学结果,这个我应该怎么去做?7要把10进制转成 16 进制,是一个什么样的思路啊?8假设三维空间中有很多个点,假如说有 10 万个点,需要求距离最近两个点的坐标,我应该怎么去做?9地铁站的这些站点信息,打算怎么去存? Java 里面用什么样的数据结构去存这个这条线路?还有这个站点?假如以地铁站为例,有 2 号线、 1 号线,然后 1 号线有什么站点? 2 号线有什么站点?10面试官提示了用链表存储。继续问:那当你存了之后,怎么去做深度优先遍历啊?11假如说功能上线之后,我的用户访问量比较大,有 20 万用户同时去访问。那这时候我的查询、计算就会比较慢,我应该怎么去做相应的优化?●来不及改程序,直接加硬件资源●加缓存,直接带来性能优化●算法层面的优化12多个进程之间的通信方式会包括有哪些?13Redis 能简单说一下读写的流程吗?14假设redis集群三主三从,那节点是怎么去做选择的?怎么知道当前这个 key 是发到 a 节点还是这个 k 发到 b 节点,是一个什么样的策略?15实习的话是希望对自己有一个什么样的期望或者目的?
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务