这个问题一直围绕着我。每次在做技术调研的时候,我都在想有没有一个网站能把解决一个问题(好比授权这个问题)的可能的技术手段给出一个 list。
刚刚这个问题又冒出来了。
之前我在自己搭建 readthedoc 的时候接触到 webhooks。在做前端页面的时候接触过 websocket。
一个小时前,我看 DropBox 的 developer reference 的时候又看到了 webhooks。然后我点开看了一眼。上面写着
Webhooks are a way for web apps to get real-time notifications when users' files change in Dropbox.
这个 real-time notifications,让我想到了 websocket。于是我简单的 google 了一下 webhooks vs websocket。结果是什么并不重要。
有没有一个网站可以回答:“如果你想做一个 real-time notification,你必须知道些什么,之前我们用什么技术,现在用什么技术,这些技术正在被提出但还没有大范围被应用”。这样的问题。
1
johnnie502 2018-06-19 05:16:44 +08:00
没有这种网站,如果有的话,咨询公司都可以关门了
|
2
jadec0der 2018-06-19 05:41:45 +08:00
这个问题的答案不应该是 websocket, polling, long polling 吗,正常人都可以找公司里资深一点的同事问,你为什么找不到人问我就不知道了。
能像这么被清晰定义的问题不多。这个问题这么大,答案这么少是因为于浏览器极高的兼容性要求,前后端交互发展的很慢。随便找个后端的问题你都不知道这个答案该怎么写 |
3
watzds 2018-06-19 05:54:27 +08:00 via Android
Webhooks 是主动调用吧,普通浏览器用户哪有地址给它调用,还不得 websocket
你的问题,就是 google 这个网站可以解决的 |
4
watzds 2018-06-19 05:57:08 +08:00 via Android
还有就是找论文看吧,哈哈,把背景,发展,都介绍清楚了
|
5
Durandal01 2018-06-19 08:12:59 +08:00
只要能提出正确的问题, 大部分情况 Google 都可以帮你解决啦.
btw: webhooks 应该是服务端 -> 服务端的通知吧....和 ws 解决的不是同一类问题. |
6
jyf 2018-06-19 09:45:43 +08:00
有 这个网站存在我的脑海里 也在 todo-plan 里 等我做出来再来通知你 :D
|
7
Chyroc 2018-06-19 10:23:10 +08:00 1
举几个例子说明
Webhooks:你往 github push 了一个 commit,如果你设置了 webhook,那么 github 会往你设置的地址( github 里面显示的是 Payload URL ) post 一段数据,这个过程是 **实时的** ,然后你可以基于这个数据做自己的事情(比如自动编译发布) websocket:一般是浏览器和服务端有实时的数据传输需要,并且有时候需要服务器主动传输,像熊猫 tv 就是每个房间搞了一个 websocket,估计传的是弹幕 long polling:网页微信就是这个,用一个大概 30s 的 http 连接连到服务器上,如果没有新消息就一直 hang 住,有新消息的时候,服务器就断开(配合返回信息),然后客户端知道有新消息,用另一个接口获取新消息;然后循环上面的过程。 |
8
pigzilla 2018-06-19 14:32:09 +08:00
Stack Overflow,Quora,知乎了解一下。
|
9
sd OP @watzds @Durandal01 我现在觉得答案可能还是 google+survey,survey 的时间是省不了。
现在的做法是。已授权举例。 1、之前接过微信网页了解到有 OAuth 2.0 这个东西。只是知道,会用,但是不知道微信是怎么实现。 2、然后从 OAuth 2.0 官方网站提供的资料中筛选。这部分主要看的 RFC 文档、社区里面的资料、github 上的代码这些。去了解怎么实现。 3、提供授权服务公司的 develop 文档。好比谷歌的 api 文档、okta 的文档。 在第二步的时候,会带到一些新的名词:Self-Encoded tokens、JWT、JWS、OpenID Connect、authorization vs authentication。如果有兴趣可以展开。 |
10
takato 2018-06-19 14:49:40 +08:00
其实就是把知识图进行展开吧。。。
但是单纯追求这张 List 似乎意义并不是很大,因为知识的意义就在于这些知识点的连接本身。 另外,最关键的问题是,如果有人需要这张 List,可以为这张 List 付出些什么。。没错,咨询公司就是干这个的。 |