본문 바로가기

Cloud

API와 웹훅(Webhook)

1. API(Application Programming Interface)란 

AWS 공식 홈페이지에서는

정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘

이라고 한다. 

즉, 두 애플리케이션 간의 서비스 계약 이라고 할 수 있다. 

 

 

다시 풀어서 설명하면 

요청을 보내는 클라이언트(Client)

응답을 보내는 서버(Server) 둘 사이에서 동작하는 매개체이다. 

 

 

1.1 API 유형

private API: 제 3자에게 노출되지 않음, 회사나 연구 단체의 내부에서만 사용 한다 

public API: 모두에게 공개되는 API, 접속 대상에 제한이 없는 경우를 openAPI라고 한다 

partner API: 기업과 특정인들만 사용 가능 

 

 

예를 들어 private API를 사용하면 개발자들이 애플리케이션 코드를 작성하는 방법을 표준화할 수 있다. 

필요한 기본 기능(인증, 통신 등)을 간단하고 빠르게 사용할 수 있다. 

 

 

1.2 API 종류 

SOAP API

RPC API

Websocket API

REST API

 

REST API혹은 RESTful API가 오늘날 웹에서 가장 많이 볼 수 있는 API이다. 

 

 

 

2. 웹훅(Webhook)이란 

서버에서 어떤 작업이 수행되었을 때, 그 사실을 HTTP POST로 알리는 것 

웹훅은 역방향 API라고도 한다. 

 

 

2.1 API Polling VS Webhook

https://docs.tosspayments.com/resources/glossary/webhook

여기에 좋은 예시가 있다. 


API Polling을 사용하면 서버 API를 계속 호출해서 이벤트가 발생했는지를 확인해야 한다. 

그런데 웹훅을 사용하면 이벤트 발생 시 자동으로 알려준다. 

API 폴링은 친구가 받을 때까지 계속 전화하는 것과 같고, 웹훅은 친구에게 "시간 나면 전화 줘"라고 문자를 남기는 것과 같죠