웹훅[Webhook] 이란 ?

2024. 7. 5. 11:28·백엔드 back-end

Webhook 이란?

- 데이터가 변경되었을 때 실시간으로 알림을 받을 수 있는 기능 
= 서버에서 어떠한 작업이 수행 되었을 때 해당 작업이 수행되었음을 http post로 알리는 개념 

 

예를 들어) 
메일을 수신할 수 있는 웹앱의 클라이언트와 서버가 있다고 가정하자. 
구현할것은 서버측에서 메일을 수신하였을 경우, 클라이언트 측으로 알림 메시지를 전달하는것이다. 


i) 일반적인 API (Polling)  클라이언트 -> 서버 
1. 클라이언트에서 메일이 수신되었는지 확인하기 위해 서버로 요청
 1.1 수신된 경우 
- 메일 정보를 받아옴 
- 클라이언트에서 해당 메일 정보를 파싱하여 화면에 출력 
1.2 수신되지 않은 경우
- 재요청, 1번으로 돌아감 or 미수신 관련 로직으로 

ii) 웹훅 (역방향 api) 
1. 메일이 수신된 경우, 미리 지정한 클라이언트의 callback url 로 메일에 대한 정보를 전송
-  요청은 http post 방식으로 이뤄지며, 주로 json을 활용 
 (callback url : 서버측에서 클라이언트의 어떤 url로 데이터를 보낼지 정해놓은 주소)
- 클라이언트에서 해당 메일 정보를 파싱하여 화면에 출력 

 

@ api 폴링은 주기를 60초에서 120초 설정하는것 
실시간 이벤트로 데이터를 받기어려움 -> 웹훅은 가능 



* Webhook endpoint 

-웹훅이 이벤트 핸들러, 웹훅 엔드포인트는 이벤트의 목적지인 target 

 

'백엔드 back-end' 카테고리의 다른 글

[Spring] @Controller & @RestController 차이/ 함께 사용가능? / 사용하는 이유?  (0) 2024.07.23
[JAVA] @JsonIgnoreProperties(ignoreUnknown=true)  (0) 2024.07.16
로그 레벨 trace/debug/info/warn/error/fatal  (0) 2023.12.12
Lombok  (0) 2023.03.13
PUT, DELETE API  (0) 2023.03.13
'백엔드 back-end' 카테고리의 다른 글
  • [Spring] @Controller & @RestController 차이/ 함께 사용가능? / 사용하는 이유?
  • [JAVA] @JsonIgnoreProperties(ignoreUnknown=true)
  • 로그 레벨 trace/debug/info/warn/error/fatal
  • Lombok
니블
니블
  • 니블
    기록장
    니블
  • 전체
    오늘
    어제
    • 분류 전체보기 (86)
      • 카프카 Kafka (2)
      • 데이터베이스 db (3)
      • 깃 git (4)
      • 백준 baekjoon (31)
      • 백엔드 back-end (20)
      • 점프 투 스프링부트 (8)
      • 메세지 큐 mq (3)
      • 개발도구 tool (3)
      • 레디스 Redis (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    logger
    mysql
    분산구조
    Message Queue
    guard clause
    분산처리
    Git
    AWS
    백준
    로거
    이벤트스트리밍
    1927
    메세지큐
    몽고DB
    자바
    2108
    EC2
    gitconfig
    rebase
    restcontroller
    최대힙
    kafka
    스프링부트
    사용자이름
    트러블슈팅
    db
    리베이스
    @value
    heapq
    SQUASH
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
니블
웹훅[Webhook] 이란 ?
상단으로

티스토리툴바