What is REST
작성일 : 2024.12.06
REST의 핵심 개념과 원칙
1. 정의
- 네트워크 통신을 위한 소프트웨어 아키텍처
- RESTful API: REST 원칙을 따르는 API
2. 주요 원칙
2-1. 균일한 인터페이스
- 표준화된 정보 전송 방식
- 리소스 식별이 가능해야 함
- 자체 설명적인 메시지
- 하이퍼링크를 통한 리소스 탐색
a) 리소스 식별
- URI를 통한 고유 식별
- 예: /users/123, /orders/456
b) 리소스 조작
- HTTP 메서드 사용
- GET: 조회
- POST: 생성
- PUT: 전체 수정
- DELETE: 삭제
- PATCH: 부분 수정
c) 자체 표현 구조
- JSON/XML 등 표준 형식 사용
- 메타데이터 포함
- 리소스 상태 정보 제공
2-2. 무상태성
- 각 요청은 독립적으로 처리
- 세션/쿠키 정보 불필요
- 서버 확장성 향상
- 요청 자체에 모든 정보 포함
2-3. 계층화
구성 요소:
- 로드 밸런서
- 인증 서버
- 캐시 서버
- API 게이트웨이
장점:
- 보안성 향상
- 유연한 구조
- 확장성 확보
2-4. 캐시 가능성
구현 방법:
- Cache-Control 헤더 사용
- ETag 활용
- Last-Modified 확인
장점:
- 서버 부하 감소
- 응답 속도 향상
- 네트워크 트래픽 감소
3. 선택적 기능
- 온디맨드 코드: 서버가 클라이언트에 실행 코드 전송 가능
4. REST API 응답 상태 코드
2xx: 성공
- 200: OK
- 201: Created
- 204: No Content
4xx: 클라이언트 오류
- 400: Bad Request
- 401: Unauthorized
- 403: Forbidden
- 404: Not Found
5xx: 서버 오류
- 500: Internal Server Error
- 502: Bad Gateway
- 503: Service Unavailable