본문 바로가기
IT Tech & Terms

[IT] Webhook(웹훅)이란?

by BeomBe 2023. 11. 16.
반응형

웹훅(Webhook)이란?

웹페이지 또는 웹앱에서 발생하는 이벤트들을 다른 어플리케이션에 실시간 정보를 제공하는 방식

 

보통 REST API로 구축된 웹 서비스는 하나의 요청에 따라 하나의 응답을 제공합니다. 이러한 구조로 인해 특정 이벤트가 발생했는지 조회하려면 서버로의 요청이 선행되어야 합니다.

 

 즉, 일반적인 API(Polling)는 클라이언트가 서버를 호출하는 방식입니다. 하지만, 웹훅은 서버에서 특정 이벤트가 발생했을 때, 클라이언트를 호출하는 방식으로써 역방향 API라고도 불립니다.

 이렇게 서버측에서 클라이언트의 어떤 URL로 데이터를 보낼지 정해놓은 주소를 바로 Callback URL이라고 부릅니다.

 

* 폴링(Polling)

운영체제에서 폴링은 CPU가 입출력 장치의 상태를 지속적으로 확인하여 CPU가 원하는 상태가 될 때까지 기다리는 것입니다. 즉, 입출력 처리를 위해 상태를 원하는 상태가 될 때까지 무한정 기다리는 방식입니다.

웹앱에서 사용하는 폴링은 엔드포인트에 이벤트가 발생했는지 주기적으로 요청을 보내는 방식으로, 상태를 계속해서 확인해야 하는 방식입니다.

 

웹훅(Webhook)의 장점

  • 실시간 업데이트(Real-time Updates)
  • 자동화(Automation)
    - 실시간 업데이트가 가능함으로써 CRM 시스템 업데이트 시 유리
  • 통합(Integration)
    - 서로 다른 어플리케이션 간의 데이터 동기화 또는 서비스 간 격차해소에 탁월함
  • 유연성(Flexibility)
    - JSON 형식부터 XML 문서까지 사용가능
  • 보안(Security)
    - 필요한 정보를 받을 차례까지 기다리면서 불필요한 서버 부담을 줄여주고, 데이터가 전달되는 엔드포인트를 정의 할 수 있게 함으로써 정보흐름을 완벽하게 제어할수있음

웹훅(Webhook) 구현 시 유의사항

  • 서비스가 에러로 중단됐을경우 데이터가 유실 될 수 있다.

 

Webhook과 API의 차이점!

Webhook과 API는 모두 서로 다른 소프트웨어 어플리케이션 간의 통신을 가능하게 하기 위해 웹 개발에 사용되는 도구이지만, 서로 다른 목적을 제공하고 서로 다른 방식으로 작동한다.

 

  Webhook API
방향(Direction) 이벤트에 따라 자동으로 데이터를 푸시 푸시 또는 풀 프로세스의 명시적 요청을 기반으로 데이터 교환
트리거(Trigger) 이벤트 중심 요청 중심
구성(Configuration) 특정 이벤트 및 엔드포인트에 대한 구성 이벤트 기반 구성없이 호출 가능한 엔드포인트를 제공
빈도(Frequency) 실시간으로 작동 요청에 따라 작동
보안(Security) 노출된 엔드포인트에 데이터를 푸시하므로 보안 조치 필요 종종 데이터 액세스에 대한 인증 요구
사용사례(Use Cases) 실시간 알림 데이터 검색 및 업데이트와 같은 광범위한 작업
반응형

'IT Tech & Terms' 카테고리의 다른 글

코딩테스트란?  (0) 2023.12.11
RTMP(Real Time Messaging Protocol)  (1) 2023.12.11
Tailwind CSS  (2) 2023.11.28
SMTP for GMAIL  (2) 2023.11.28
SMTP 설명 및 정리  (2) 2023.11.28