Webhook是什么、怎么理解


Webhook是什么

我們想看看維基老大的解說:

A webhook in web development is a method of augmenting or altering the behavior of a web page, or web application, with custom callbacks. These callbacks may be maintained, modified, and managed by third-party users and developers who may not necessarily be affiliated with the originating website or application. The term "webhook" was coined by Jeff Lindsay in 2007 from the computer programming term hook.

我來翻譯一下大概的意思吧:

webhook為什么叫webhook呢,是Jeff Lindsay在2007提出來的。

webhook是一個web自定義回調函數,當程序發生警報行為時,會自動回調調用指定的url。webhook的回調url可以是第三方應用,可以是webhook內應用。

讀了這些概念,我們怎么來理解webhook呢?

 

怎么理解Webhook

我們先來看看傳統的API調用是怎么樣的,還有它有什么不足,才出現webhook

傳統的Rest Api,一般用get、post的方式提交數據給服務器,也用來獲取服務器的數據。而這些Rest Api是客戶端主動向服務器拿取數據的,只是‘單方面’的操作。

后來自然而然出現了輪詢、websocket等技術,讓服務器‘主動’通知客戶端做出改變。這方面的內容你可以參照SingleR,參照我的另外一個文章 C# BS消息推送 SignalR介紹(一)

上面這些技術可以實現我們的端到端之間的通訊。但是做得還不夠好。

那么,webhook就出現了,webhook就是web服務使用Http Post請求為其它服務提供實時信息的一種方式。

一個 webhook 會在它調用時就傳遞數據到其它的應用,這表明你可以立即得到數據。這讓使用了 webhook 的生產者和消費者都變的更有效率,如果你的 API 還不支持這些,你真應該做一些關於這方面的事。

當涉及到 webhooks 的設計,現在並沒有類似標准的 HTTP API 這樣的規范。每個服務實現不同的 webhook, 從而導致許多不同的 webhooks 實現風格。

 

 

可以關注本人的公眾號,多年經驗的原創文章共享給大家。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM