WebHook 浅谈
什么是 Webhook?
参考文章: https://zhuanlan.zhihu.com/p/193996563 ,https://studygolang.com/articles/15056
- Webhook 是一个 API 概念, 是微服务 API 的使用范式之一, 也被成为反向 API.
- 即前端不主动发送请求,完全由后端推送;
一个实现了 Webhook 的 API 提供商就是在当事件发生的时候会向这个配置好的 URL 发送一条信息,与
请求-响应式
不同,使用 Webhook 你可以实时接受到变化。
这又是一种对 客户机-服务器 模式的逆转,在传统方法中,客户端从服务器请求数据,然后服务器提供给客户端数据(客户端是在拉数据),在 Webhook 范式下,服务器更新所需提供的资源,然后自动将其作为更新发送到客户端(服务器是在推数据),客户端不是请求者,而是被动接收方;这种控制关系的反转可以用来促进许多原本需要在远程服务器上进行更复杂的请求和不断的轮询的通信请求;通过简单地接收资源而不是直接发送请求,我们可以更新远程代码库,轻松地分配资源,甚至将其集成到现有系统中来根据 API 的需要来更新端点和相关数据,唯一的缺点是初始建立困难。
主要用途
更新客户端,在资源新建或者更新时提供更新的、指定的数据。
常见 Webhook 使用场景
如果客户端要长期监听某个任务的状态,按照正常的 API 调用的方式去做,那么必须不停得轮训服务器来获取当前状态;使用 Webhook 则无需轮训,通过 API 可以确定是否发生了更改,如果更改了只需要等待服务器推送信息过来,然后客户端更新就可以;git webhook其实也是这方面的应用。
总结
总的说,webhook 和普通的 API 请求是一样的,都是事件,都是为了在系统间共享信息。API 轮询在之前可能是一个比较好的解决方案.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义