REST API와 RESTful API의 차이

henry·2024년 10월 16일

1. REST API란?

REST API는 REST(Representational State Transfer) 원칙에 기반한 API를 의미합니다.
REST는 자원을 HTTP 프로토콜로 전송하고 주로 JSON이나 XML 형식으로 데이터를 주고받습니다.

REST API는 HTTP를 사용해 서버클라이언트 간에 자원을 주고받기 위해 설계된 API입니다.

📌 예시: REST API

  • GET /users : 모든 사용자 목록 가져오기
  • POST /users : 새로운 사용자 등록하기
  • PUT /users/1 : ID가 1인 사용자 정보 수정하기
  • DELETE /users/1 : ID가 1인 사용자 삭제하기


2. RESTful API란?

RESTful API는 REST 아키텍처의 원칙제약최대한 준수하여 구현된 API입니다.
‘RESTful’이라는 용어는 REST의 디자인 철학을 잘 따르고 있는 API를 의미합니다.

📌 핵심 원칙

1. 클라이언트-서버 구조(Client-Server Architecture)

  • 클라이언트와 서버가 명확히 분리되어야 합니다.

2. 무상태성(Stateless)

  • 서버는 클라이언트의 상태를 저장하지 않습니다. 매 요청은 독립적이어야 합니다.

3. 자원의 고유한 URL(Uniform Resource Identifier, URI)

  • 자원은 고유한 URL로 식별되어야 합니다. 예를 들어, /users/1은 ID가 1인 사용자입니다.

4. 일관된 인터페이스(Uniform Interface)

  • HTTP 메서드(GET, POST, PUT, DELETE 등)를 의미에 맞게 사용해야 합니다.


3. 비교

구분REST APIRESTful API
정의REST 원칙을 기반으로 한 APIREST 원칙을 최대한 준수하여 구현한 API
제약 준수 여부REST 원칙을 모두 따를 필요는 없음REST의 철학과 제약을 준수해야 함
유연성RESTful API가 아닐 수도 있음RESTful API는 항상 REST 원칙에 부합해야 함
예시URI가 비일관적이거나 무상태성을 따르지 않을 수 있음자원의 명확한 URL과 HTTP 메서드 사용이 필수적

📌 차이점 예시

  • REST API 예시 (REST 원칙 미준수)
GET /getUser/1      // 비일관적인 URL 사용
POST /createUser    // 동사가 포함된 URI 사용
  • RESTful API 예시 (REST 원칙 준수)
GET /users/1        // 자원을 명확하게 식별
POST /users         // 새로운 사용자 생성

RESTful API는 명확한 자원 경로와 적절한 HTTP 메서드 사용을 통해 보다 직관적이고 간결한 설계를 지향합니다.

0개의 댓글