케이스윔의 개발 블로그

Webhook 이란 무엇인가? 본문

Study

Webhook 이란 무엇인가?

kswim 2018. 11. 21. 15:02

LINE Message API 를 사용할 때 Webhook 설정을 해야했다. 사실 Webhook 이 뭘까 검색을 해보고 이러한 의미구나 정도만 생각하고 넘어갔었다. WebhookURL 자리에 내가 서비스 구축을 위해 만든 서버 URL을 쓰는 거라고 추측을 할 수 있었기 때문에 그랬던 것 같다. 그 당시에 공부했던 노트를 보면서 다시 개념을 읽어보니 잘 이해가 안갔다. 그래서 좀 더 찾아보고 어느정도 이해한 내용들을 글로 정리한다. 


Webhook 이라는 것은 웹 서비스를 제공해주는 서버 측에서 어떠한 이벤트(또는 데이터)를 외부에 전달하는 방법 중 하나이다. 내 공책에는 이렇게 적혀있었고 잘 이해가 안갔다! 다시 차례대로 정리를 해보겠다. 

우선 Hooking의 의미를 알아야하는데 어떠한 액션 앞 또는 뒤에 추가로 어떠한 일을 하도록 하는 것을 말한다. Webhook 이라는 건 웹에서 이러한 Hooking 을 할 수 있도록 제공하는 것이다. 어떠한 서비스에 대해서 Hooking을 할 수 있도록 기능을 제공해야하는데, Hooking을 해서 처리하려는 웹서버를 통해 액션을 만들고 이 액션의 URL을 등록하는 방식이 Webhook!


나의 경험으로 예를 들어 정리를 해보자면 나는 LINE Message API 를 사용하고자 했다. 내가 해당 서비스를 이용해서 하고 싶었던 것은 메시지가 왔을 때 메시지에 따라 응답을 하는 것이었다.  즉 웹서비스를 제공해주는 서버 측(LINE)에서 메시지가 왔을 때(어떠한 이벤트) 해당 메시지에 대한 응답이라는 Hooking을 만들고 싶었고 나는 Django를 통해 웹서버를 구축한 것이다. 나는 웹서버를 구축해서 Hooking 을 제공하려 했고, LINE Message API 의 설정에서 WebhookURL을 적는 다는 것은 서비스를 LINE 서버 측에서 내가 만든 bot에 메시지가 왔을 때 해당 이벤트를 외부인 나의 서버로 정보를 제공할 수 있게 한 것이다. 

LINE Message API는 Hooking이 가능한 서비스를 만든거고 나는 HookingURL을 제공하는 서비스를 만든 것이당!



정리하고 나니까 생각보다 별 내용없고 나의 경험에서 어떠한 부분이 어떠한 내용이구나를 깨달을 수 있었다.


Comments