Post和get的一个小问题

非科班渣渣问问大佬,post和get的区别;今天看到里面讲到post是写入数据的,get是获取数据的。后面又讲到get和post都可以作为提交数据的一种方式。这句话不明白,不是说好的获取数据的吗,怎么又变成提交数据了
全部评论
区别记住一个就好,get 没有请求体,post 相当于 get 请求多了一个请求体,浏览器在发送 post 时header 和 body 分两次发包。像幂等性,安全性不是关键性区别。安全性不就是因为一个有请求体一个没请求体,post 数据可以放 body,get 只能放 header 和 url,导致安全性不同吗? 幂等性只是由于 get 和 post 语意不同导致的,get 在 restful 中表示获取资源,post 表示新建资源,所以 get 对服务器数据有无影响,幂等的,post 新建资源,有影响,所以非幂等 。
点赞 回复 分享
发布于 2019-06-27 00:27
从本质上说GET和POST都是HTTP的请求方法之一,体现在HTTP报文里就是一个单词的区别,具体行为要看你的服务端对待不同方法的方式,不可一概而论。 通常GET用于获取数据,浏览器使用GET提交的参数是追加在URL后的。 通常POST用于提交数据,参数放进请求正文里。HTML里的表单一般用x-www-form-urlencoded,就是GET的那种参数串。当然你愿意传JSON或者XML也没问题,一切取决于你的后端如何处理。 从浏览器的角度来讲,使用POST最大的不同就是用户刷新页面的时候会有重复提交的警告。 从安全性上来说,如果是HTTP明文传输的话GET和POST的“安全性”是一样的,另外GET的参数对用户可见,且可能留在浏览器历史记录里。 你也不用纠结所谓幂等不幂等的说法,还是一切看后端。事实上很多GET操作根本就不幂等。但是还是建议根据具体的语义选择合适的动词,前后端协商一致。
点赞 回复 分享
发布于 2019-06-27 17:08
二者本质是一样的,这两个的区别网上一大堆,没必要在这发帖问。
点赞 回复 分享
发布于 2019-06-26 23:08
其实Fiddler的composer也可以发,如果你选了GET并且填了payload,框背景就会变成红色警告,提示你不是标准的行为
点赞 回复 分享
发布于 2019-06-27 18:04
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods/GET说 get 请求有请求体的请给出你们的依据,我后端也研究了了两年,从来就没看到过 get 可以设置请求体的。写过服务器的人都知道,对于 get 和 post 请求,服务器的感知区别就只有 method 不同和有无 body,你们写服务器的时候难道这俩还有别的区别?
点赞 回复 分享
发布于 2019-06-27 17:22
提交后呢?不都有返回结果吗?返回结果,不就是你获取的数据吗?
点赞 回复 分享
发布于 2019-06-26 23:05
一个幂等一个非幂等
点赞 回复 分享
发布于 2019-06-26 22:57
区别还有长度限制、安全性那些,最主要是把get和post的幂等性理解了
点赞 回复 分享
发布于 2019-06-26 22:36
都如果一个请求是查询,多以get方式提交请求。如果请求涉及对数据库的增删改,则以post方式提交。建议看一下“get post的幂等性”的博客
点赞 回复 分享
发布于 2019-06-26 22:35
get通过req.query提交数据,post通过请求体req.body提交数据。对于写入还是获取用这两个哪个都行,只是一般是get获取,post修改,原因是幂等,副总用,详细自己百度下哈。
点赞 回复 分享
发布于 2019-06-26 22:32
都可以提交数据,只不过get是放在url里,由此带来的就是数据的长度限制,post的数据放在请求体里,两种方式没有安全性方面的区别
点赞 回复 分享
发布于 2019-06-26 22:30
约定俗成的东西,就像考试要用黑色笔,但你用铅笔一样能做题而已。
点赞 回复 分享
发布于 2019-06-26 22:29

相关推荐

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
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务