본문으로 건너뛰기
Previous
Next
REST 뜻과 의미 | 기술 용어 사전 | pkglog

REST

다른 이름: RESTful , REST API , RESTful API

정의

Representational State Transfer. HTTP 기반 API 아키텍처 스타일. 리소스(URI), 메서드(GET/POST/PUT/DELETE), 무상태(Stateless), 캐시 가능. JSON 주로 사용. CRUD 매핑: GET(조회), POST(생성), PUT(수정), DELETE(삭제). RESTful 원칙

상세 설명

📋 기술 스펙

  • 6가지 제약: 클라이언트-서버, 무상태, 캐시 가능, 계층화, 통일된 인터페이스, Code on Demand(선택)
  • HTTP 메서드: GET(조회), POST(생성), PUT(전체 수정), PATCH(부분 수정), DELETE(삭제)
  • 리소스: URI로 식별 (/users/123)
  • 표현: JSON, XML, HTML
  • 상태 코드: 200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Internal Server Error
  • HATEOAS: 응답에 다음 가능한 액션 링크 포함
  • Idempotent: GET, PUT, DELETE는 여러 번 호출해도 같은 결과

💡 실무 활용

  • 웹 API: GET /users, POST /users, PUT /users/123
  • 모바일 앱: JSON 데이터 교환
  • 마이크로서비스: 서비스 간 통신
  • Public API: Twitter, GitHub, Stripe

장점

  • 단순성: HTTP 메서드만으로 CRUD
  • 확장성: 무상태로 서버 추가 용이
  • 캐싱: HTTP 캐시 헤더 활용
  • 범용성: 모든 언어, 플랫폼 지원

⚠️ 단점 및 제약

  • Over-fetching: 불필요한 데이터도 전송
  • Under-fetching: 여러 요청 필요 (N+1)
  • 표준 부재: RESTful 정의 모호
  • HTTP 오버헤드: 헤더, 연결 비용

🔧 호환성

모든 HTTP 클라이언트. 모든 서버 프레임워크

📚 표준 정보

표준화 기구: Roy Fielding (2000), 논문 기반

출시 연도: 2000년