Webhook(网络钩子)是一种基于 HTTP 回调的事件通知机制:当源应用发生特定事件时,主动向用户预先配置的网址推送数据,让第三方系统实时获知变化,广泛用于支付回调、代码推送通知和自动化集成。

| 类型 | HTTP 回调 / 事件推送机制 |
| 提出者 | Jeff Lindsay |
| 提出时间 | 2007 年 |
| 数据格式 | 多为 JSON(HTTP POST) |
| 典型应用 | 支付回调、CI/CD 触发、消息通知 |
Webhook(常译作「网络钩子」)是 Web 开发中的一种自定义 HTTP 回调机制:当某个应用中发生特定事件时,它会主动向用户预先设置的 URL 发送一个 HTTP 请求,把事件数据实时推送给接收方。
传统的 API 调用采用「拉取」模式:客户端必须不断轮询服务器询问「有没有新数据」,既浪费资源又存在延迟。Webhook 则反过来采用「推送」模式——接收方只需提供一个可公网访问的回调地址,事件一旦发生,源应用立即把数据以 HTTP POST 请求的形式发送过来,通常使用 JSON 格式,因此常被形象地称为「反向 API」。
Webhook 这一说法源自编程领域的「钩子(hook)」概念,由开发者 Jeff Lindsay 于 2007 年提出。它的一大特点是回调可由第三方用户自行维护和管理,无需与源网站或应用有隶属关系,这为开放平台之间的互联提供了极大便利。如今 GitHub、Stripe、微信、飞书、Slack 等主流平台都提供 Webhook 能力。
Webhook 最常见的用途包括:支付平台在用户付款成功后回调商户服务器完成发货;代码托管平台在收到 push 后触发 CI/CD 自动构建部署;聊天工具通过传入 Webhook 接收监控告警或群机器人消息;表单、电商、CRM 等 SaaS 之间借助 Zapier、n8n 这类自动化工具串联工作流。
问:Webhook 和 API 有什么区别?答:API 是客户端主动发起请求向服务器要数据;Webhook 是服务器在事件发生时主动把数据推给你。前者是「你去问」,后者是「它来报」,两者常常配合使用。
问:使用 Webhook 需要注意什么安全问题?答:回调地址是公开可访问的,应校验请求来源,常见做法包括验证平台提供的签名(如 HMAC)、使用 HTTPS 传输、校验时间戳防止重放攻击。
问:推送失败了怎么办?答:多数平台会对失败的推送按一定策略自动重试,接收方应保证接口幂等,即同一事件收到多次也不会重复处理。

| 类型 | HTTP 回调 / 事件推送机制 |
| 提出者 | Jeff Lindsay |
| 提出时间 | 2007 年 |
| 数据格式 | 多为 JSON(HTTP POST) |
| 典型应用 | 支付回调、CI/CD 触发、消息通知 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧