API (Application Programming Interface) 는
프로그램끼리 대화하게 도와주는 통역사 같은 거야.
REST (REpresentational State Transfer) 는
API를 어떻게 만들고 사용할지에 대한 규칙(설계 방식) 이야.
REST 원칙을 잘 지킨 API = REST API야.
즉,
“REST 규칙을 따르는 서버와 통신할 수 있게 해주는 API”
라는 의미로 “REST API”라는 이름이 붙은 거야!
| 구성 요소 | 설명 | 예시 |
|---|---|---|
| 자원 (Resource) | 접근하려는 대상 | /users, /products/1 |
| 행위 (Verb) | 무엇을 할 건지 | GET, POST, PUT, DELETE |
| 표현 (Representation) | 주고받는 데이터 | JSON, XML 등 |
예시)
GET /users/1
| 특징 | 설명 |
|---|---|
| Uniform Interface | URL이 명확해야 함 (예: /users/1) |
| Stateless | 서버가 이전 요청을 기억하지 않음 |
| Cacheable | HTTP 캐싱 기능 사용 가능 |
| Client-Server 구조 | 프론트엔드-백엔드 역할 분리 |
| 계층 구조 | 중간에 프록시나 보안 계층 넣기 가능 |
| Self-descriptive | 요청만 봐도 무슨 일인지 알 수 있어야 함 |