跳至主要内容
短.be

Webhook

当特定事件发生时,服务器自动向指定 URL 发送 HTTP 请求的机制。用于实现实时联动。

2025年10月29日 · 约 1 分钟阅读

数据分析

Webhook 是指当某个服务中发生特定事件时,自动向预先注册的 URL 发送 HTTP 请求 (通常为 POST) 的机制。就像"有事请打这个电话通知我"一样,实现了事件驱动的服务间联动。

Webhook 的反义词是轮询 (Polling)。轮询是定期发送"有新消息吗?"的查询方式,即使没有变化也会产生请求,效率较低。Webhook 只在事件发生时才发送通知,因此实时性更高,服务器负载也更低。

短链接服务中 Webhook 的应用场景之一是,当链接被点击时实时接收通知。例如,将重要活动链接的点击事件即时推送到 Slack 频道,或将点击数据自动写入自有数据库。

Webhook 的实现需要注意几个要点。第一,接收端的端点必须通过 HTTPS 公开。第二,需要考虑 Webhook 发送失败时的重试处理。大多数服务会以指数退避方式重试几次,但接收端宕机期间的事件可能会丢失。第三,验证 Webhook 发送方的签名 (如 HMAC-SHA256) 是重要的安全措施。

Webhook 已广泛应用于 GitHub (推送通知)、Stripe (支付完成通知)、Slack (消息发送) 等现代 Web 服务的集成中。Zapier 和 IFTTT 等自动化工具在内部也是基于 Webhook 实现的。相关书籍可在 Amazon 上查找。

分享到 XHatena

这篇文章对您有帮助吗?

相关术语

相关文章

常见问题

Webhook 和 API 有什么区别?
API 是主动发送请求获取信息的"拉取型",Webhook 是事件发生时服务器自动推送通知的"推送型"。API 在需要时主动获取信息,Webhook 则实时接收信息。根据用途选择使用。
Webhook 接收失败后数据会丢失吗?
取决于服务,但大多数情况下会重试几次。超过重试次数后通知会被丢弃。处理重要数据时,建议在中间加入消息队列 (如 SQS) 以确保可靠处理。
Webhook 的安全措施有哪些?
验证发送方身份是最关键的。许多服务会在请求头中附加 HMAC 签名,接收方使用密钥验证签名即可。此外,接收端点应通过 HTTPS 公开,如果能设置 IP 白名单则更理想。

想要创建短链接吗?

免费缩短网址