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