webhook 이란 정확히 어떤걸 말하는건가요????

조회수 14441회

구글링을 해도 명확히 내용을 알수가 없어서.. 정확히 어떤걸 말하는 건가요?? 자바로 구현할 수 있는건가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 웹 서비스를 제공해주는 서버 단에서 어떤 이벤트를 외부에 전달하는 방법중의 하나입니다.

    예를 들어 어떤 게시판을 제공하는 서비스가 있다고 할 때,

    게시판에 새로운 글이 등록될 때마다, 특정 알림을 다른 서비스나, 메신저에 알리려고 할 때 유용할 수 있습니다.

    위 상황에서 게시판에 새로운 글이 등록된다는 사실을 알아내야만 후속되는 처리를 할수 있습니다.

    만약 게시판 제공 서비스에서 어떤 액션(위 예에서 새로운 글 등록)이 일어나는 것에 대해 훅킹( 어떤 액션 앞뒤에다가 추가로 정해진 일을 하도록 하는 것 )할 수 있다면, 위의 상황을 처리할 수 있습니다.

    여기에서 웹훅은 앞의 훅킹을 웹 환경에서 제공하는 것으로 보면 될 것 같습니다.

    먼저 서비스(위에서 게시판 제공 서비스)에 후킹할 수 있도록 기능 제공해야 합니다. 후킹을 해서 뭔가 처리하려는 서비스를 자신이 만들고, 이 서비스 URL을 앞의 게시판 제공 서비스와 같에 정보 제공 서비스에 다가 등록하는 방식이 웹훅인 것 같네요.

    일반적으로 웹서비스는 정보를 필요로하는 측이 클라이언트로서 서비스에 요청하는 것인데 반해, 웹훅은 그 반대 방향으로 요청됩니다. 정보로 필요로하는 측이 서버가 되고, 엔드포인트 주소를 서비스에 제공하게 되며, 서비스는 어떤 정보를 줄수 있는지 공개하는 방식으로 생각하면 될 것 같습니다.

    • 훅킹URL을 제공하는 서비스
      • 이 경우는 다른 서비스 개발자가 이 후킹 서비스를 호출하도록 형태일 것 같습니다.
      • 예를 들어, 메신저와 같은 서비스는 훅킹URL을 제공하여, 다른 서비스에서 발생하는 조건에 따라 메신저 내에서 어떤 일(메시지 발송 등)을 하도록 할 수 있을 것 같네요.
    • 훅킹이 가능한 서비스를 만들 수도 있습니다.
      • 서비스를 만들면서, 주요 이벤트들을 외부에서 알아챌 수 있도록 하고, 어떤 이벤트가 발생하고, 데이터를 어떻게 전달하는 지 명세한 후, 이벤트마다 URL을 등록 받을 수 있을 것 같습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)