Webhook
来自维基百科针对
webhook
的描述: 网页开发中的网络钩子是一种通过自定义回调函数来增加或更改网页表现的方法。这些回调可被可能与原始网站或应用相关的第三方用户及开发者保存、修改与管理。术语“网络钩子”由杰夫·林德塞于2007年通过给计算机编程术语“钩子”加上前缀得来。
Webhook是一个API概念,和普通API 不同的时,它是一个反向的API, 不是客户端主动请求,是服务端主动向客户端推送。
这里说的客户端: 指的响应方; 服务端: 指的是发出方。 比如一个警告需要通过webhook 发出,需要使用钉钉推送。 发出警告的是服务端;推送钉钉的是客户端。
一些典型的使用场景:
- 钉钉机器人;
jenkins
和gitlab、github
、gitee 实现远程触发更新操作的场景;- 强安全要求的支付场景
使用
1. 需要注意的问题:
- 当服务端通过webhook 将数据发送到对应的服务端后,将不再关注这些数据。有些webhook 会处理回应。 在你的服务端收到请求后要做好处理。(记录请求的数据)
- webhook 可能会发出大量的数据,接受要注意考虑并发。
2. 安全问题:
- 增加token机制;
- 数据签名等
切记,不要让它裸奔。