Published on

[學習筆記] WebHook:反向 API

也可被稱為 Reverse API, HTTP push API, web callback

webhook 簡單來說是一種設定機制,當事件發生時,會呼叫一個綁定的 callback function。

Client 端向 Server 端要資料的三種情況

1. API

  • Client 發出 request 給 Server
  • Server 回傳 data

2. LongPolling:在 function 返回後再次呼叫該 function

  • Client 端長期不斷去發請求,問 Server 是否有資料
  • 可能有的問題:多次的請求會對 Server 造成負擔、要回來的資料不一定是最新的
  • ALP 實作:後台通知 ajax polling

3. Polling:設定每隔固定時間就呼叫一次 function

// LongPolling
const longPolling = () => {
	setTimeout(() => {
		console.log('Long Polling')
		longPolling()
	}, 1000)
}

// Polling
const polling = () => {
	console.log('Polling')
}
setInterval(polling, 1000)

WebHook

Client 端會有 callback URI,會先約定和綁定一個 WebHook URL 給 Server,跟 Server 説如果有資料的話請提供給 Client

所以 WebHook 也稱作反向 API