Webhooks在API世界中的角色

本文旨在:让大家初步认识一下webhooks存在的意义。

Webhooks在API世界中的角色_第1张图片
webhook logo

什么是webhooks?

webhooks模式的主要优点是,当你的应用在等待变化时,无需周期性地调用APIs。相反,当一些有趣的事情发生之后,APIs将通过特定端点通知的方式来访问你的应用。现在缺少的是一种以编程方式告诉APIs你所感兴趣的接收呼叫和注册端点。
这里有一个常见的例子:你到github上。有一个用于他们代码POST请求webhook的文本框。你输入一个URL。现在当你上传你的代码到github上时,github将会通过HTTP POST的方法请求你所选择的包含详细信息的URL。没有更简单的方法以便与任意Web服务进行开放式集成。

Webhooks在API世界中的角色_第2张图片
webhook icon

微小的,但强大!

这个微小的接口有一些明显的用途:bug跟踪集成,短信消息,IRC以及twitter.

同样微小的接口也有一些非显而易见的用途,就像Run Code Run为你提供构建并运行你项目的测试。所有的这些只需要在GitHub上输入runcoderun.com URL即可。

现如今,Webhooks提供了很多有价值的作用,例如即时通知机制。你的用户是否有关心的事件?针对这些事件给用户提供一个webhook,这样就赋予他们一定的实现能力以及灵活度将这些事件流集成到他们的生活中去。

Webhooks在API世界中的角色_第3张图片
webhook framework

对于所有这些能力来说,webhook显然均可以轻松实现。

回到未来?

虽然今时今日webhooks具有很多价值,但我真正感兴趣的是他的将来。Webhooks是可以组合的。你可以在网址中设置一个webhook,那它就会跳转至另一个webhooks上。它有可能是处理数据的,记录的,复刻它到多个webhooks上的或者其他奇怪的东西。Yahoo Pipes曾经尝试这样做,但最终你会被限制在Yahoo Pipes设计的局限中去。在任何地方,Webhooks都可以被集成以及被实施。它背负了分布式网络的基本原理。

重要的是面对于大众,我们已经达到这种级别的定制化程度。对于同样重要的采纳,我们使用网络原生动词。我们理解HTTP在基本层面上。它简单,有规模以及有意义。

结论

webhook(也被称为网络回调或HTTP推送API)被视为一个应用为其他应用提供实时信息的一种方法。当webhook被触发后,它将传送数据到其他应用程序中去,这就意味着你会立即获取到数据。Webhook测试是非常重要的,并且这个测试是非常简单,它像极了接口响应测试。

Webhooks正在重塑互联网,他们看起来就像互联网通信革命的下一个阶段而且无一幸免。许多网站像github,mailchimp和其他一些已经支持webhooks,并且受欢迎程度只有在不断增加。


作者信息
原文作者:Guy Levin
原文链接:http://blog.restcase.com/webhooks-role-in-the-api-world/
翻译自MaxLeap团队_云服务研发成员:Johnny Guo

你可能感兴趣的:(Webhooks在API世界中的角色)