포도가게의 개발일지

[Web] Webhook? 본문

[Web] Webhook?

grape.store 2022. 4. 9. 22:18
반응형

what?

- 웹훅은 웹페이지 또는 웹앱에서 발생하는 특정 이벤트들을 callback으로 변환해주는 방버이다. 일반적인 API는 클라이언트가 서버를 호출하는 방식이다. 하지만 웹훅의 경우 서버에서 특정 이벤트가 발생했을 때 클라이언트를 호출하는 방식이면 "역방향 API"라고도 부른다.(sse같은건가?) Webhook 프로바이더는 해당 이벤트가 발행하면 HTTP POST 요청을 생성하여 callback URL(endpoint, 목적지)로 이벤트 정보을 보냅니다.

 

why?

- 메일을 수신할 수 있는 웹앱의 클라이언트와 서버가 있다. 구현할 것은 서버측에서 메일을 수신하였을 경우 클라이언트 측으로 알림 메세지를 전달하는 것이다.!! 알림!! (즉 busy waiting쓸데없는 overhead를 줄 일 수있다 하지만 단점으로는 server가 클라이언트의 정보를 알아야되니 그만큼의 리소스가 소모되겠지 ..)

1. 메일이 수신되었을 경우 : 서버 -> 클라이언트로 미리 지정한 클라이언트 callback url로 메일에 대한 정보를 보냄

2. 클라이언트에서 해당 메일 정보를 파싱하여 화면에 출력

단점: 클라이언트 서비스 error로 인해 webhook에서 오는 data가 유실될 수 있음. 또는 response처리가 제대로 되지않은경우 webhook이 실패한지 알고 다시 보낼수있음.

 

how?

기본적으로 http post를 이용하여 구현하는 것 같다. 아마 client url이 필요할것이고 그것을 입력해놓으면 end point에서 해당 이벤트 발생시 post method를 쏘는것 같다. http가 보안 문제가 있을 수 있으니 https로 하면 좋을 것 같은데 그럼 client에서 SSL을 발급받아야 된다. 음 람다 같은거 이용해서 뭐 만들어도 재밌어 보인다.

'' 카테고리의 다른 글

[Web] Cookie  (0) 2022.04.01
[Web] Blob  (0) 2022.03.26
[Web] SSE(Server Sent Event)  (0) 2022.03.26
Restful API?  (0) 2022.01.18
Socket vs WebSocket vs Socket.IO?  (0) 2021.11.26
Comments