对接同事的接口,他定义的所有接口都是 post 请求,理由是 https 用 post 更安全

2022-01-23 10:29:15 +08:00
 caicaiwoshishui
之前习惯使用 restful api ,如果说 https 只有 post 请求是安全的话?那为啥还需要 get 、put 、delete ?我该如何反驳他。
28118 次点击
所在节点    程序员
195 条回复
wangyu17455
2022-01-23 14:20:36 +08:00
不用 post 的话,请求的从参数在浏览器的历史记录都能看到,用了 post 就看不见参数了
aguesuka
2022-01-23 14:44:20 +08:00
post 一把梭有一个厉害的名字叫做 "rpc style", 时髦值不在 "restful" 之下. 你的同事没你有信仰, 建议帮他觉醒成 rpcist, 然后你作为 restist 和他打一架, 谁赢了听谁的.
bnm965321
2022-01-23 14:50:39 +08:00
@bug123 搜索引擎收录就能代表不安全吗?如果你不想要被收录可以加入 robots.txt ,可以加入用户权限控制
a308057848
2022-01-23 15:01:02 +08:00
从安全角度是争不出啥结果的



支持统一 POST ,简单


RESTFULL 最大的问题就是复杂,某些客户端接 PUT 也非常麻烦
learningman
2022-01-23 15:02:18 +08:00
他说啥就是啥,写完回家了
请求 Method 只是 Http 头里一个字符串罢了,你想定义个 FUCK 方法也是可以的
gengchun
2022-01-23 15:02:32 +08:00
REST API 的定义和实现本来都不是太好。不然也不会有什么 graphQL 之类的事情了。所以实践中分歧才会很大。

不过这个和 POST 没有什么关系。但是使用 POST 一把梭的一个好处是 payload 可以自己再加密一层。这个对来对抗 api 逆向工程是很有用的。大部分强调安全的系统,工程实践上确实直接用 POST 的比较多。我知道不少系统在对抗爬虫的过程中都会演变成纯 POST 。

如果不打算再加密 payload 的话,用 REST API 加上 HTTPS 安全性上确实区分度不大,这个只是对简单的前端系统的开发友好一些罢了。

当然,OP 所说的这个他同事的这个理由有点不对。不过 OP 本来就是在吵架,很可能根本没有理解同事是什么意思。
MrBearin
2022-01-23 15:11:12 +08:00
都可以, 类似这种问题, 我现在基本已经不怎么和其他人争辩了...团队内大家都认可就好...类似, 命名方式, 要不要用 lombok, 用不用链式 set, 新项目要不要抛弃陈旧的代码格式化规范文件等等...
MrBearin
2022-01-23 15:13:28 +08:00
@MrBearin 更何况, 要不要 restful, 就和要不要 ddd 类似, 都行.
jguo
2022-01-23 15:16:42 +08:00
就是接口不是 restful ,只有 post 安全也是 sb 理解
seanzxx
2022-01-23 15:19:00 +08:00
这也要看他提供的 api 怎么实现的吧,比如 json rpc 就全是 post 呀
chenyu0532
2022-01-23 15:19:51 +08:00
我是客户端,后端说用什么我就用什么
Gota
2022-01-23 15:20:25 +08:00
我们团队内部早期也经常对 API 定义这种问题争来争去浪费开发时间, 后来有次开会确定下来全部按照 <Google API 设计指南>: https://cloud.google.com/apis/design/ 走, 就再也没有吵过了. 毕竟对于一般团队而言, 你能想到的和想不到的, 他们都踩过坑了.
preach
2022-01-23 15:24:48 +08:00
理性猜测,post 更安全只是为了给你个理由,并不是他真的想法,而且他并不想浪费时间在解释这件事情上
wellsc
2022-01-23 15:25:24 +08:00
hyper text transfer protocol ,纯文本传输协议罢了,用啥 method 都没区别
konakona
2022-01-23 15:37:40 +08:00
他如果直接跟你说是为了 post 一把梭方便,那还好。
如果是“https 用 post 世界第一”,就有点引喷了。
RuLaiFo
2022-01-23 15:54:26 +08:00
要么完全遵守 rest 规范,要么就随他们咋用就咋用,除非你有很大的主导权,即使这样不规范。
xiangyuecn
2022-01-23 15:57:25 +08:00
没别的意思,我就是纯粹的想炫技😂 每次看到讨论有 post 一把梭 还是 restful 的,我就想用 xxoo 做 method

前些天刚好写好了代码,这次正好派上用场,ie 里面用 js 代码跑个服务端,通过 xxoo 请求来调用,完美🐶🐶

----


----
ThomasZ
2022-01-23 16:03:36 +08:00
反驳能达到双赢还是你赢,不能,反驳啥? 人家改接口你喝茶?
iamsk
2022-01-23 16:04:31 +08:00
自己先认真了解 restful 设计实践,有 Github 、twitter 等这么优秀的可以参考,包括了解安全问题,沟通说服。
即使按 restful 设计也会有很多不同意见,这个过程你们都有学习。
我的理解 restful 毕竟是前人形成的规范指导,大家思考一致,可以节省很多接口理解、测试用例等方面的沟通
而 post 各个公司、各个人的规范和喜好都不同,相当于先大家对齐规范,程序员不要做这种”一次性“的事情
eason1874
2022-01-23 16:09:18 +08:00
讨论技术的时候:扯淡
现实合作的时候:对对对,你说得对

只要别增加太多工作量,说什么都对

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/830030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX