AdSense

網頁

2022/4/21

Webhooks 是什麼?

Webhooks簡單來說就是反向Web API。


Web API

談到Webhooks前通常會先談Web API。Web API是網路應用程式(服務端(server))的資源介面,供客戶端(client)存取所需資源。由client發起請求(request)給server,server收到請求才將結果回應(response)給client,動作的主動權都是client。這樣的機制稱為HTTP請求響應模型(HTTP Request-Response model)。

Web API



Webhooks

而Webhooks則是由server將資料透過POST請求發給client,而客戶端同樣以API接收。(下圖沒畫出client的response,事實上也是有的,通常是一個簡單的200 OK回應。)

Webhooks



那server端要怎麼知道client的API呢?所以使用webhooks時client端需要向server註冊(提供)API位址,這個動作就稱為hooks,又稱訂閱(subscribe)。而server端需要提供webhooks發送請求的資料格式給client去設計接受請求的API。

所以說到底Webhooks算是一種機制,其也是利用HTTP REST API來實現。

那為什麼用Webhooks?Webhooks有什麼好處呢?有了Webhooks server端就能即時主動發送更新給client,不必由client不斷發送請求來詢問是否有更新(又稱輪詢(polling))。


沒有留言:

AdSense