博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webhook是什么?
阅读量:4294 次
发布时间:2019-05-27

本文共 1065 字,大约阅读时间需要 3 分钟。

1.webhook简述

  webhooks是一个api概念,是微服务api的使用范式之一,也被成为反向api,即:前端不主动发送请求,完全由后端推送。 举个常用例子,比如你的好友发了一条朋友圈,后端将这条消息推送给所有其他好友的客户端,就是 Webhooks 的典型场景。

  简单来说,WebHook就是一个接收HTTP POST(或GET,PUT,DELETE)的URL。一个实现了WebHook的API提供商就是在当事件发生的时候会向这个配置好的URL发送一条信息。与请求-响应式不同,使用WebHooks,你可以实时接受到变化。

  这又是一种对客户机-服务器模式的逆转,在传统方法中,客户端从服务器请求数据,然后服务器提供给客户端数据(客户端是在拉数据)。在Webhook范式下,服务器更新所需提供的资源,然后自动将其作为更新发送到客户端(服务器是在推数据),客户端不是请求者,而是被动接收方。这种控制关系的反转可以用来促进许多原本需要在远程服务器上进行更复杂的请求和不断的轮询的通信请求。通过简单地接收资源而不是直接发送请求,我们可以更新远程代码库,轻松地分配资源,甚至将其集成到现有系统中来根据API的需要来更新端点和相关数据,唯一的缺点是初始建立困难。

2.主要用途 

  更新客户端,在资源新建或者更新时提供更新的、指定的数据。

3.常见webhooks使用场景 

  对于第三方平台验权、登陆等 没有前端界面做中转的场景,或者强安全要求的支付场景等,适合用 Webhooks 做数据主动推送。说白了就是在前端无从参与,或者因为前端安全问题不适合参与时,就是 Webhooks 的场景。很显然 Webhooks 也不是 Http 的替代品,不过的确是一种新的前后端交互方式。 

  如果客户端要长期监听某个任务的状态,按照正常的api调用的方式去做,那么必须不停得轮训服务器来获取当前状态;使用webhook则无需轮训,通过API 可以确定是否发生了更改,如果更改了只需要等待服务器推送信息过来,然后客户端更新就可以。git webhook其实也是这方面的应用。

4.使用说明  

  1、webhook通过请求发送数据到你的应用后,就不再关注这些数据。也就是说如果你的应用存在问题,数据会丢失。许多webhook会处理回应,如果程序出现错误会重传数据。如果你的应用处理这个请求并且依然返回一个错误,你的应用就会收到重复数据。 

  2、webhook会发出大量的请求,这样会造成你的应用阻塞。确保你的应用能处理这些请求。

转载地址:http://fwyws.baihongyu.com/

你可能感兴趣的文章
iOS开发模拟网络状态差
查看>>
iOS开发知识-常用小技巧大杂烩
查看>>
同时点击手势深度优化处理 setExclusiveTouch
查看>>
iOS七种手势
查看>>
iOS逆向:在任意app上开启malloc stack追踪内存来源
查看>>
iOS开发之NSDictionary里setValue:forKey与setObject:forKey、objectForKey与valueForKey的差异
查看>>
NSProxy——少见却神奇的类
查看>>
iOS开发-记录下在开发过程中遇到的问题的解决方案及经验总结-1
查看>>
iOS工作小结
查看>>
xib学习周计划:1——xib文件的基本认识
查看>>
UIWindow的windowLevel属性
查看>>
iOS10.3 app内好评详解 SKStoreReviewController
查看>>
具透 | iOS 10.3 新 App Store 评价机制详解
查看>>
Chisel-LLDB命令插件,让调试更Easy
查看>>
iOS 应用跳转到AppStore评分 可内置跳转
查看>>
技术类博客网站推荐
查看>>
[SKRemoteReviewViewController release]
查看>>
iOS倒计时按钮Button标题闪烁处理
查看>>
代理和block的混用
查看>>
iOS 10.3 这些新变化你应该知道
查看>>