devjingood
2025. 3. 12. 01:06
2025. 3. 12. 01:06
RESTful API의 정의 및 원칙
- 자원(리소스) 기반 구조:
- 모든 데이터는 "자원"으로 간주,
각각의 자원은 고유한 URI(Uniform Resource Identifier)를 가짐
- 표현(Representation):
- 클라이언트와 서버 간의 데이터 교환은 자원의 표현으로 이루어짐
- 자원의 표현은 일반적으로 JSON 또는 XML 형식을 사용
- 상태 비저장성(Stateless):
- 모든 요청은 독립적이며, 각 요청에는 필요한 모든 정보가 포함되어 있어야 함
- 서버는 클라이언트의 이전 요청 상태를 저장하지 않는다.
- HTTP 메서드:
- RESTful API는 HTTP 메서드를 사용하여 자원에 대한 작업을 정의
- 주요 HTTP 메서드:
- GET: 자원을 조회
- POST: 새로운 자원을 생성
- PUT: 기존 자원을 변경
- DELETE: 자원을 삭제
- PATCH: 자원의 일부를 변경
- 유형성(Uniform Interface):
- 일관된 인터페이스를 제공하여 클라이언트와 서버 간의 상호 작용을 단순화
- 자원 URI, HTTP 메서드, HTTP 상태 코드 등을 일관되게 사용
- 캐시 가능성(Cacheability):
- 응답은 캐시될 수 있어야 하며, 캐시 가능 여부를 명시하는 메타데이터를 포함해야 함
- 계층화 시스템(Layered System):
- 클라이언트는 중개 서버를 통해 여러 계층으로 구성된 시스템과 상호작용할 수 있다.
- 이를 통해 시스템의 보안 및 확장성을 향상
- 코드 온 디맨드(Code on Demand) (선택 사항):
- 서버는 클라이언트에 스크립트를 전송하여 실행할 수 있다.
- 이는 선택 사항이며, RESTful API에서 반드시 구현해야 하는 요소는 아니다.