Webhook 和 API(定义和差异)
Webhook and API (Defination & Diffrences)
我想了解webhook(什么是webhook)。 webhook 的应用是什么(一个真实世界的场景)。另外,webhook和API有什么区别?
API 是与服务通信的标准化方式。您在问题中标记了 REST
,因此我将重点关注使用 HTTP 的 RESTful API,但重要的是要知道 API 是一个非常通用的术语。
在 REST 世界中,一切都是资源,您可以使用 HTTP 方法来定义要对该资源采取或应用的操作。例如,要列出 GitHub 上的所有用户,您可以向 https://api.github.com/users. The URL (specifically the /users
part) defines what resource you are interested in. Here the resource is a collection of all the users. There's other methods you can use; such as PUT
to create or update a resource. To learn more about the different methods you can read the HTTP specification.
发送 GET
请求
Webhooks 通常与 APIs 结合使用,但它们专注于事件。它们允许服务在事件发生或满足某些条件时发送 'notifications'。
GitHub 再次是 webhook 用途的一个很好的例子。假设我正在构建一项服务,每当有人对 GitHub 中的某个问题发表评论时,它就会发送一封电子邮件。我可以使用 GitHub API(如上)列出关于某个问题的所有评论,然后检查自上次检查以来是否有任何新评论。然后我可以每隔几秒重复一次这个请求。这被称为 polling。这里的问题是,大多数时候我检查的结果不会改变。这将是一种资源浪费。
网络书允许 Event-Driven Programming。每次添加评论时,我都可以指示 GitHub 向我的服务发送 HTTP 请求,而不是随机检查:又名 webhook。在这个架构中,当我确定有新评论被留下时,我只需要向 GitHub 的 API 发送请求。
总的来说,您无法真正比较 APIs 和 webhook。他们之间的link只是webhooks向API发送请求。
我想了解webhook(什么是webhook)。 webhook 的应用是什么(一个真实世界的场景)。另外,webhook和API有什么区别?
API 是与服务通信的标准化方式。您在问题中标记了 REST
,因此我将重点关注使用 HTTP 的 RESTful API,但重要的是要知道 API 是一个非常通用的术语。
在 REST 世界中,一切都是资源,您可以使用 HTTP 方法来定义要对该资源采取或应用的操作。例如,要列出 GitHub 上的所有用户,您可以向 https://api.github.com/users. The URL (specifically the /users
part) defines what resource you are interested in. Here the resource is a collection of all the users. There's other methods you can use; such as PUT
to create or update a resource. To learn more about the different methods you can read the HTTP specification.
GET
请求
Webhooks 通常与 APIs 结合使用,但它们专注于事件。它们允许服务在事件发生或满足某些条件时发送 'notifications'。
GitHub 再次是 webhook 用途的一个很好的例子。假设我正在构建一项服务,每当有人对 GitHub 中的某个问题发表评论时,它就会发送一封电子邮件。我可以使用 GitHub API(如上)列出关于某个问题的所有评论,然后检查自上次检查以来是否有任何新评论。然后我可以每隔几秒重复一次这个请求。这被称为 polling。这里的问题是,大多数时候我检查的结果不会改变。这将是一种资源浪费。 网络书允许 Event-Driven Programming。每次添加评论时,我都可以指示 GitHub 向我的服务发送 HTTP 请求,而不是随机检查:又名 webhook。在这个架构中,当我确定有新评论被留下时,我只需要向 GitHub 的 API 发送请求。
总的来说,您无法真正比较 APIs 和 webhook。他们之间的link只是webhooks向API发送请求。