반응형
API (Application Programming Interface) 란?
API는 서로 다른 소프트웨어 애플리케이션이 서로 통신하고 데이터를 주고받을 수 있도록 정의된 규칙과 프로토콜의 집합입니다.
핵심 개념
| 개념 | 설명 |
|---|---|
| Interface | 두 시스템 사이의 접점 (계약) |
| Request | 클라이언트가 서버에 보내는 요청 |
| Response | 서버가 클라이언트에 돌려주는 응답 |
| Endpoint | API가 노출하는 특정 URL 또는 주소 |
비유로 이해하기
🍽️ 레스토랑에서 웨이터(API) 는 손님(클라이언트)의 주문을 받아 주방(서버)에 전달하고, 완성된 음식(데이터)을 손님에게 가져다 줍니다.
손님은 주방 내부 구조를 몰라도 됩니다. 웨이터(API)만 알면 됩니다.
API의 종류
1. 🌐 REST API (가장 일반적)
- HTTP 메서드 사용 (
GET,POST,PUT,DELETE) - JSON 형식으로 데이터 교환
- 무상태(Stateless) 통신
GET https://api.example.com/users/123
2. 📦 GraphQL API
- 클라이언트가 필요한 데이터만 정확히 요청 가능
- 단일 엔드포인트 사용
query {
user(id: "123") {
name
email
}
}
3. ⚡ WebSocket API
- 실시간 양방향 통신 (채팅, 알림 등)
4. 🔗 gRPC API
- Google이 개발한 고성능 RPC 프레임워크
- 마이크로서비스 간 통신에 주로 사용
REST API 동작 예시
클라이언트 서버
| |
|--- GET /api/users/1 ------>|
| | DB 조회
|<-- 200 OK + JSON ----------|
| { "id": 1, |
| "name": "Kchangwook" } |
HTTP 메서드 정리
| 메서드 | 동작 | 예시 |
|---|---|---|
GET |
데이터 조회 | 사용자 정보 가져오기 |
POST |
데이터 생성 | 새 게시글 작성 |
PUT/PATCH |
데이터 수정 | 프로필 업데이트 |
DELETE |
데이터 삭제 | 계정 삭제 |
HTTP 상태 코드
| 코드 | 의미 |
|---|---|
200 |
✅ 성공 |
201 |
✅ 생성 성공 |
400 |
❌ 잘못된 요청 |
401 |
🔒 인증 필요 |
403 |
🚫 권한 없음 |
404 |
🔍 리소스 없음 |
500 |
💥 서버 에러 |
반응형
'Web > 일반' 카테고리의 다른 글
| Promise (0) | 2021.03.21 |
|---|---|
| Local Storage와 Session storage (0) | 2020.09.19 |
| Virtual DOM (0) | 2020.06.08 |
| Vue.js (0) | 2020.06.05 |
| QueryString과 Path Variable은 각각 언제 사용하는가 (0) | 2020.04.09 |