웹훅이 뭔가요? 웨이팅 번호표 한 장이면 이해됩니다
한줄 요약: 웹훅은 어떤 일이 생겼을 때, 미리 정해둔 주소로 저절로 신호가 가도록 만든 약속입니다. 분식집 웨이팅 번호표와 똑같습니다. 자리 났냐고 계속 되묻는 대신 번호표를 받아두면, 자리가 났을 때 저쪽에서 먼저 연락이 옵니다. 이 글에서는 그 구조를 비유 하나로 잇고, 마지막에는 webhook.site로 실제 신호를 직접 받아봅니다.
AI에게 자동화를 맡겨보면 “이 주소로 웹훅을 등록하면 됩니다”라는 답을 받을 때가 있습니다. 앞서 API가 뭔가요? 글에서 API를 분식집 주문지에 비유해 설명했는데, 웹훅은 결이 다릅니다. 주문지처럼 내가 먼저 요청을 보내는 게 아니라, 가만히 있어도 저쪽에서 먼저 연락이 오는 방식이기 때문입니다. 무대는 같은 분식집인데, 이번에는 자리로 들어가기 전 가게 밖 대기줄입니다. 앞 글을 읽지 않았어도 이 글은 그대로 이해됩니다.
이 글은 AI 자동화 도구를 처음 만지는데 “웹훅을 등록하세요”라는 문장 앞에서 멈춘 사람을 위한 글입니다. 읽고 나면 웹훅이 왜 필요한지 알게 되고, webhook.site라는 무료 서비스로 실제 웹훅 신호를 한 번 직접 받아본 상태가 됩니다.
10분마다 가서 물어보는 대신, 번호표를 받아둡니다
분식집 가게 밖 대기줄에 서 있다고 해봅시다. 자리가 없으면 두 가지 방법이 있습니다. 하나는 카운터에 가서 “저희 자리 났나요?“를 몇 분마다 되묻는 것이고, 다른 하나는 번호표를 하나 받아두고 기다리다가 자리가 나면 문자로 연락받는 것입니다.
앞의 방법이 폴링이고, 뒤의 방법이 웹훅입니다. 프로그램끼리도 똑같습니다. 매번 “새로운 주문이 있나요?“라고 되묻는 프로그램을 만들 수도 있고, 주소를 한 번 등록해두고 주문이 실제로 들어왔을 때만 그 주소로 신호를 받는 프로그램을 만들 수도 있습니다. AI가 “웹훅을 등록하면 됩니다”라고 말할 때 하겠다는 일이 바로 뒤의 방식입니다.
웨이팅에서 일어나는 일 = 웹훅에서 일어나는 일
매번 물어보면 폴링입니다
웹훅이 없다면 어떻게 될까요. 프로그램은 “새 데이터가 있나요?“를 몇 초, 몇 분 간격으로 계속 되묻는 수밖에 없습니다. 이 되묻는 방식에는 폴링(Polling)이라는 이름이 있습니다. 자리가 났는지 10분마다 가서 확인하는 것이 폴링이고, 번호표를 받아두고 문자를 기다리는 것이 웹훅입니다.
두 방식을 나란히 놓으면 차이가 분명해집니다. 왼쪽은 손님이 계속 움직여야 하는 폴링, 오른쪽은 가게가 먼저 움직이는 웹훅입니다.
폴링: 10분마다 가서 물어보기
- 손님이 하는 일 카운터에 가서 "자리 났나요?" 묻기 자리가 안 났어도 매번 다시 가서 묻습니다
- 대부분의 대답 "아직요" 열 번 중 아홉 번은 헛걸음입니다
- 결과 손님도 카운터도 계속 붙잡혀 있음 자리가 안 나도 확인하는 데 매번 힘이 듭니다
묻는 쪽이 계속 움직여야 합니다
웹훅: 번호표 받아두고 기다리기
- 손님이 하는 일 번호표 하나 받고 자리에 앉아 있기 카운터에 다시 갈 필요가 없습니다
- 자리가 나면 가게가 먼저 문자를 보냄 기다리던 순간에만 연락이 옵니다
- 결과 필요한 순간에만 정확히 반응 묻지 않아도 되니 힘이 덜 듭니다
알려주는 쪽이 먼저 움직입니다
웨이팅 용어를 컴퓨터 용어로 바꾸면
| 웨이팅 | 컴퓨터 용어 | 뜻 |
|---|---|---|
| 번호표 받기 | 웹훅 등록 | 신호를 받을 주소를 미리 알려주는 것 |
| 10분마다 가서 물어봄 | 폴링(Polling) | 새 일이 있는지 주기적으로 되묻는 방식 |
| 자리가 남 | 이벤트(Event) | 신호를 보낼 만한 일이 실제로 생긴 것 |
| 문자가 옴 | 웹훅 호출 | 등록해둔 주소로 신호가 도착하는 것 |
표의 오른쪽 단어들도 외울 필요는 없습니다. AI가 짜준 자동화 설명에서 “웹훅을 리슨(listen)합니다”라는 문장을 만나면, 왼쪽 칸으로 바꿔 읽으면 됩니다. “번호표를 걸어두고 기다립니다”라는 뜻입니다.
신호를 누가 먼저 보내는지는 상황에 따라 다릅니다
여기서 한 가지를 짚고 넘어가야 합니다. 지금까지의 예시는 전부 “내가 번호표를 받아두고, 저쪽이 나에게 신호를 보내는” 방향이었습니다. 그런데 웹훅은 방향이 고정되어 있지 않습니다. 반대로 “저쪽이 만들어준 주소를, 내가 등록해두고, 내가 저쪽으로 신호를 보내는” 경우도 똑같이 웹훅이라고 부릅니다.
예를 들어 디스코드는 채널마다 주소를 하나씩 만들어줍니다. 그 주소를 내 자동화에 등록해두면, 내 쪽에서 일이 끝날 때마다 그 주소로 결과를 보내 디스코드 채널에 글이 올라오게 만들 수 있습니다. 이번에는 내가 번호표를 받는 손님이 아니라, 번호표를 발급해주는 가게 쪽 역할을 하는 셈입니다. 이 방식을 실제 화면에서 어떻게 만드는지는 디스코드에 웹훅 만들기 글에서 다룹니다.
직접 받아봅시다: webhook.site로 신호 받기
웹훅이 특별한 도구가 있어야만 받을 수 있는 게 아니라는 사실은 직접 한 번 받아보면 바로 체감됩니다. 준비물은 브라우저뿐이고, 가입도 필요 없습니다.
- 브라우저로
https://webhook.site에 접속합니다. - 접속하자마자 추측하기 어려운 고유 주소가 자동으로 발급됩니다. 화면 위쪽에
https://webhook.site/로 시작하는 긴 주소가 보입니다. 다만 이 주소는 로그인으로 보호되지 않아서, 주소를 아는 사람은 누구나 그 안의 기록을 볼 수 있습니다. 이 주소가 여러분의 번호표입니다. - 그 주소를 복사해서 새 탭에 붙여넣고 이동해보세요. 이 방문 자체가 그 주소로 보내는 요청 하나입니다.
- 원래 탭(webhook.site 화면)으로 돌아오면, 방금 보낸 요청이 왼쪽 목록에 즉시 나타납니다.
실제 서비스라면 이 주소로 훨씬 다양한 내용이 옵니다. 예를 들어 주문 시스템이라면 아래와 같은 형태의 데이터가 올 수 있습니다(제가 실제로 받은 내용이 아니라 예시입니다).
{"event":"new_order","item":"떡볶이","price":4000}
방금 여러분이 확인할 내용은 이보다 단순합니다. 주소를 방문한 것 자체가 신호이기 때문에, 별도 내용 없이 방문 기록만 남습니다. 아래는 제가 실제로 이 절차를 확인한 결과입니다.
실제로 확인한 결과 (2026년 8월 31일 브라우저 방문 실측)
주소를 방문한 것 자체가 신호이고, 방금 확인한 대로 목록에 남습니다.
무료로 발급한 주소에는 두 가지 제한이 있습니다. 만든 지 7일이 지나면 데이터와 함께 자동으로 삭제되고, 그 전에도 최대 100건까지만 기록됩니다. 실습하다가 주소가 사라졌거나 더 이상 기록되지 않는다면, webhook.site에 새로 접속해 주소를 다시 발급받으면 됩니다.
더 깊이 읽고 싶다면
이 글은 비유로 뼈대를 잡는 데 집중했습니다. 뼈대가 잡혔다면 아래 두 자료가 살을 붙이기 좋습니다. 둘 다 한국어이고 무료입니다.
- 토스페이먼츠 개발자센터 “웹훅” 웹훅 개념과 폴링 차이를 정리하고, 등록 절차는 별도 문서로 잇습니다.
- BizSpring “웹훅(Webhook) 이해하기” 결제 완료, 이슈 생성, 배송 추적 같은 실생활 예시와 함께 폴링과의 차이를 표로 정리했습니다.
webhook.site 무료 주소의 보관 기간(7일)과 기록 상한(100건)은 공식 FAQ를 2026년 8월 31일에 확인한 내용입니다. 무료 정책은 서비스 쪽 사정으로 바뀔 수 있으니, 실제 화면에 안내가 다르면 그 화면을 기준으로 판단하세요.
댓글