API (Application Programming Interface) 기초
API는 두 개의 분리된 소프트웨어 시스템이 서로 소통하고 데이터를 교환할 수 있도록 정의된 규칙과 프로토콜의 집합입니다. 쉽게 말해, 서버가 제공하는 요청 및 응답 창구입니다.
1. API의 역할과 비유
API는 마치 레스토랑의 종업원과 같습니다.
- 고객(클라이언트/브라우저): 원하는 메뉴(데이터)를 종업원에게 주문합니다.
- 종업원(API): 주문을 받아 주방(서버)에 전달합니다.
- 주방(서버): 주문에 따라 요리(데이터 처리)를 합니다.
- 종업원(API): 결과를 고객에게 전달합니다.
즉, API는 복잡한 내부 동작을 숨기고, 사용자가 필요한 기능에만 쉽게 접근할 수 있도록 도와줍니다.
2. 웹 API의 작동 원리 (REST API 중심)
대부분의 웹 API는 REST(Representational State Transfer)라는 구조를 따르며, 이는 URL과 HTTP 메서드를 사용합니다.
① 요청 (Request)
클라이언트가 서버의 특정 URL에 정해진 HTTP 메서드를 사용하여 요청을 보냅니다.
| HTTP 메서드 | 역할 | 비유 (데이터베이스) |
|---|---|---|
| GET | 자원을 조회 (읽기) | Read (읽기) |
| POST | 자원을 생성 (데이터 추가) | Create (생성) |
| PUT/PATCH | 자원을 수정 | Update (수정) |
| DELETE | 자원을 삭제 | Delete (삭제) |
② 응답 (Response)
서버는 요청을 처리한 후, 요청의 성공/실패 여부를 나타내는 상태 코드(Status Code)와 함께 요청된 데이터(JSON 형식)를 클라이언트에게 보냅니다.
- 성공 예시:
200 OK,201 Created - 실패 예시:
404 Not Found,500 Internal Server Error