REST API
Representational State Transfer Application Programming Interface
자원을 일관된 인터페이스로 다루는 REST 설계 원칙을 따르는 API예요.
쉽게 비유하면
업무마다 제각각 창구를 만드는 대신 대상을 정하고 공통된 요청 규칙으로 이용하는 것과 같아요.
조금 더 자세히
웹에서는 주문이나 상품을 URL로 식별하고 HTTP 메서드, 상태 코드와 표현을 활용하는 방식이 흔해요. JSON을 자주 쓰지만 필수 형식은 아니에요.
REST에는 클라이언트·서버 분리, 무상태 요청, 캐시와 일관된 인터페이스 등의 제약이 있어요. URL과 JSON만 있다고 모든 REST 원칙을 만족하는 것은 아니에요.
왜 생겼나요
웹 규모의 분산 시스템이 서로 결합을 줄이고 확장 가능하게 통신하는 방식을 설명하는 아키텍처 스타일에서 나온 개념이에요.
어떻게 작동하나요
- 1. 자원 정의 주문이나 상품 등 다룰 대상을 식별해요.
- 2. 요청 메서드, 주소와 필요한 맥락을 담아 요청해요.
- 3. 표현과 상태 자원의 표현과 처리 상태를 돌려주고 관련 동작을 안내해요.
활용 예시
- 상품 목록 조회
- 주문 생성과 조회
- 여러 앱에서 공통 업무 기능 사용
흔한 오해
무상태면 서버가 데이터를 저장하지 않나요?
주문 같은 자원 상태는 저장할 수 있어요. 각 요청을 이해하는 데 이전 요청의 대화 맥락에 의존하지 않는다는 뜻이에요.
이렇게 쓰여요
주문 API 설계
“주문을 자원으로 두고 조회·생성 규칙과 오류 응답을 일관되게 정하자”라고 이야기해요.
관련 용어
- 응용 프로그램 인터페이스
- https
- JSON
- 웹훅
함께 보면 좋은 용어
최종 업데이트