웹훅

정의
웹훅(Webhook)은 웹 기반 애플리케이션 간에 실시간으로 데이터를 전송하기 위한 사용자 정의 HTTP 콜백 메커니즘을 의미한다. 일반적으로 특정 이벤트가 발생했을 때, 서버가 미리 지정된 URL로 HTTP 요청(주로 POST 방식)을 자동으로 전송함으로써 다른 시스템에 데이터를 즉시 전달한다.

개요
웹훅은 일방적인 데이터 풀(pull) 방식 대신, 이벤트 기반의 푸시(push) 방식 통신을 가능하게 한다. 예를 들어, 소스 코드 관리 시스템(GitHub, GitLab 등)에서 커밋이 발생하면, 이를 실시간으로 지속적 통합(CI) 서버나 알림 시스템에 전달하기 위해 웹훅을 사용할 수 있다. 웹훅은 주로 API 통합, 자동화된 작업 처리, 마이크로서비스 간 통신 등에서 활용된다.

어원/유래
"웹훅(Webhook)"은 "웹"과 "훅(hook)"의 합성어로, "훅(hook)"은 소프트웨어에서 특정 이벤트가 발생했을 때 실행되는 콜백 함수 또는 인터페이스를 의미한다. "웹훅"이라는 용어는 초기 웹 개발 커뮤니티에서 이벤트 기반 HTTP 콜백 시스템을 설명하기 위해 유래되었으며, 2007년경부터 온라인 플랫폼들에 의해 널리 사용되기 시작하였다. 정확한 최초 사용자는 확인되지 않는다.

특징

  • 이벤트 기반 동작: 특정 조건이나 이벤트 발생 시에만 작동한다.
  • 경량 구조: 복잡한 인증이나 설정 없이 간단한 HTTP 엔드포인트만으로 구성할 수 있다.
  • 실시간성: 데이터를 요청하지 않고도 실시간으로 전송받을 수 있다.
  • 보안 이슈: 공개된 엔드포인트일 경우, 인증 및 검증 없이 악의적인 요청을 받을 수 있으므로 토큰 기반 인증, 서명 검증 등 보안 조치가 필요하다.

관련 항목

  • API (애플리케이션 프로그래밍 인터페이스)
  • REST (Representational State Transfer)
  • HTTP (하이퍼텍스트 전송 프로토콜)
  • 콜백 함수 (Callback Function)
  • 지속적 통합 (Continuous Integration, CI)
  • 마이크로서비스 아키텍처
둘러보기

더 찾아볼 만한 주제