🔄 RESTful API 설계 원칙

REST 아키텍처 스타일과 API 설계 모범 사례를 시각적으로 학습해보세요

🌐 REST란 무엇인가?

REST(Representational State Transfer)는 분산 시스템을 위한 아키텍처 스타일로, HTTP를 기반으로 클라이언트와 서버 간의 통신을 위한 규칙을 정의합니다.

🔑 REST의 6가지 제약 조건

1.
Client-Server
클라이언트와 서버의 분리
2.
Stateless
무상태성 - 각 요청은 독립적
3.
Cacheable
캐시 가능한 응답
4.
Uniform Interface
일관된 인터페이스
5.
Layered System
계층화된 시스템
6.
Code on Demand
선택적 - 실행 코드 전송

✨ RESTful API의 특징

📦

리소스 중심

모든 것을 리소스로 표현하고 고유한 URI로 식별

/users/123
/products/456
/orders/789
🔄

표준 메서드

HTTP 메서드를 사용한 일관된 인터페이스

GET - 조회
POST - 생성
PUT - 수정
DELETE - 삭제
📊

표현 전송

JSON, XML 등 다양한 형식으로 리소스 표현

Content-Type: application/json
Accept: application/json

📊 HTTP 상태 코드

2xx 성공

200 OK
요청 성공
201 Created
리소스 생성 성공
204 No Content
성공했지만 응답 본문 없음

3xx 리다이렉션

301 Moved Permanently
영구 이동
302 Found
임시 이동
304 Not Modified
변경되지 않음

4xx 클라이언트 오류

400 Bad Request
잘못된 요청
401 Unauthorized
인증 필요
403 Forbidden
권한 없음
404 Not Found
리소스 없음

5xx 서버 오류

500 Internal Server Error
서버 내부 오류
502 Bad Gateway
게이트웨이 오류
503 Service Unavailable
서비스 이용 불가
🧑‍💻

1nnovator 김민성

JavaScript 학습 센터 개발자

기술 블로그Interactive JavaScript Learning Platform

🌟 이 프로젝트가 도움이 되셨다면 블로그에서 더 많은 개발 이야기를 확인해보세요!

🤖이 페이지는 생성형 AI의 도움을 받아 제작되었습니다.