WebHook 是什么
WebHook 是网页开发中的一种通过自定义回调函数来增加或更改网页表现的方法。这些回调可被可能与原始网站或应用相关的第三方用户及开发者保存、修改与管理。术语“网络钩子”由杰夫·林德塞于 2007 年通过给计算机编程术语“钩子”加上前缀得来。
网络钩子是“用户定义的 HTTP 回调”。网络钩子通常被某些事件激活,比如将代码推送到源或评论博客。当此事件发生时,原网站将向为网络钩子配置的 URL 发送 HTTP 请求。用户可配置它们引发网页上的事件以调用另一个网站的行为。此操作可为任何事件。网络钩子常用于激活持续集成系统的构建操作或用于提醒缺陷跟踪管理系统。由于网络钩子使用 HTTP,它们可以被无缝集成入网页服务而无需添加新的基础设施。
Web 钩子是实现事件反应的一种非常有用且资源轻的方式。Web 挂钩提供了一种机制,当服务器上发生新事件(客户端应用程序可能感兴趣)时,服务器端应用程序可以通知客户端应用程序。
Webhooks 有时也被称为“反向 API”。在 API 中,客户端应用程序调用(使用)服务器端应用程序。然而,在 Web 挂钩的情况下,它是服务器端调用(使用)Web 挂钩(客户端应用程序提供的端点 URL),即它是调用客户端的服务器端应用程序应用。
Webhooks 操作“事件反应”的概念(不要打电话给我,如果我有新的东西,我会打电话给你),从而避免客户端应用程序不断对服务器端应用程序进行轮询。因此,不是客户端应用程序不断轮询服务器端应用程序以检查新事件,服务器端应用程序调用客户端应用程序(通过调用客户端提供的 webhook URL),而不是服务器端有新的事情向客户报告。
这是 Webhook 的核心概念。
因此,使用 webhooks,您可以在服务器上发生某些事件时获得推送通知。您不再需要轮询 API 以查看是否发生了这些事件。您可以使用 webhooks“订阅”活动。
简而言之 webhook 只不过是一个简单的客户端提供的端点 URL。在服务器端的 webhook 调用之前的某个时刻,客户端应用程序必须将此端点 URL 传递给服务器端应用程序。