본문 바로가기
Study/디지털서비스

REST API

by 구루마3단 2025. 5. 1.

✅ REST API는 다음과 같은 약자

REST = Representational State Transfer
API = Application Programming Interface


✅ 전체 풀네임

REST API = Representational State Transfer 기반의 Application Programming Interface


✅ 용어 의미 요약

구성 의미
Representational 리소스(데이터)를 표현(Representation) 형태로 전달 (JSON, XML 등)
State 클라이언트가 리소스의 상태(state)를 주고받음
Transfer 상태 정보를 HTTP를 통해 전송
API 애플리케이션 간 명확한 인터페이스(통신 규칙)를 제공

✅ REST API의 핵심 특징

  • HTTP 기반
  • URL로 리소스 식별
  • GET, POST, PUT, DELETE 같은 표준 메서드 사용
  • 무상태성 (Stateless)
  • 클라이언트-서버 구조

REST vs SOAP vs GraphQL기술 철학, 구조, 사용 사례, 장단점


✅ REST vs SOAP vs GraphQL 비교표

항목 REST SOAP GraphQL
약자 Representational State Transfer Simple Object Access Protocol Graph Query Language
기반 프로토콜 ✅ HTTP ✅ HTTP, SMTP, FTP 등 ✅ HTTP (주로 POST)
데이터 포맷 JSON, XML 등 (유연) XML (고정) JSON
메시지 구조 리소스(URL) 기반 + HTTP 메서드 (GET, POST 등) 명시적 XML 엔벨로프 구조 단일 Endpoint + 명시적 쿼리 문법
엔드포인트 구조 다수의 URL (리소스별) 하나 또는 다수 (동작별) 단일 Endpoint 사용
요청 방식 HTTP 메서드로 정의 (GET, PUT 등) XML 기반 고정 구조 클라이언트가 쿼리 작성
표준/계약 기반 비공식 (관습적 설계) 공식 WSDL 계약 기반 스키마(GraphQL SDL) 명시
오버페칭/언더페칭 ❌ 종종 발생 (필요 없는 필드 포함 등) ❌ 정적 구조 → 유연성 낮음 ✅ 클라이언트가 필요한 필드만 요청
무상태성(Stateless) ✅ 기본 전제 🔄 가능하지만 상태 유지 지원도 있음 ✅ 기본적으로 무상태
에러 처리 HTTP 상태코드 기반 SOAP Fault 구조 응답 내 에러 블록 포함
보안 HTTPS, OAuth 등 외부 기술 조합 ✅ WS-Security 내장 HTTPS, 인증은 외부 처리
성능 보통 (설계에 따라 달라짐) 느림 (XML 파싱 오버헤드) 빠름 (필요 데이터만 전송)
사용 예시 대부분의 웹 API (RESTful API) 금융, 공공기관, 레거시 시스템 모바일/SPA, Facebook, GitHub API 등
학습 곡선 낮음 (직관적) 높음 (복잡한 스펙) 중간~높음 (스키마 설계 필요)

✅ 요약 정리

구분 REST SOAP GraphQL
유연성 ⭐⭐⭐ ⭐⭐⭐⭐
표준화 ⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐
확장성 ⭐⭐⭐ ⭐⭐ ⭐⭐⭐⭐
모바일/프론트엔드 적합성 ⭐⭐ ⭐⭐⭐⭐
레거시/기업 시스템 적합성 ⭐⭐ ⭐⭐⭐⭐

✅ 추천 사용처

  • REST: 범용적인 웹 API, 간단한 CRUD 서비스, 공개 API
  • SOAP: 보안이 중요한 금융/정부 시스템, 레거시 시스템 통합
  • GraphQL: 프론트엔드 유연성/효율성 중시하는 앱, 복잡한 데이터 요구가 있는 SPA

'Study > 디지털서비스' 카테고리의 다른 글

하베스트 Harvest  (2) 2025.05.01
URI URL URN  (0) 2025.05.01
쿠버네티스 kubernates  (1) 2025.05.01
전가상화 반가상화 virtualization  (0) 2025.05.01
마이페이먼트, MyPayment  (0) 2025.05.01