단북
프론트엔드 기술 면접·인프라·보안·네트워크

REST API와 RESTful API를 설명할 수 있나요?

자원 중심 설계 원칙인 REST와, 그 제약을 충실히 지킨 API를 가리키는 RESTful의 의미를 정리합니다.

REST(REpresentational State Transfer) 는 웹의 자원을 다루기 위한 아키텍처 스타일입니다. HTTP를 그 원칙에 맞게 활용해 만든 API를 REST API라고 부릅니다.

REST의 핵심 원칙

  • 자원(Resource) 중심 — 모든 것을 자원으로 보고 URI로 식별합니다. (/users/1)
  • 행위는 HTTP 메서드로 — 조회 GET, 생성 POST, 수정 PUT/PATCH, 삭제 DELETE.
  • 표현(Representation) — 자원의 상태를 JSON·XML 등의 형식으로 주고받습니다.
  • 무상태(Stateless) — 서버는 요청 간 클라이언트 상태를 저장하지 않고, 각 요청은 필요한 정보를 모두 담습니다.
  • 균일한 인터페이스(Uniform Interface) — 일관된 규칙으로 자원을 다룹니다.

REST API vs RESTful API

둘은 사실상 같은 개념을 가리키지만 뉘앙스가 다릅니다.

  • REST API — REST 스타일을 표방하는 API를 통칭합니다.
  • RESTful API — REST의 제약 조건을 충실히(properly) 지킨 API라는 의미를 강조하는 표현입니다.

즉 “RESTful하다”는 것은 자원을 URI로 잘 표현하고, 메서드를 의미에 맞게 쓰며, 무상태를 지키는 등 REST 원칙을 제대로 따른다는 뜻입니다.

잘 설계된 예

동작메서드 + URI
사용자 목록GET /users
사용자 1명 조회GET /users/1
사용자 생성POST /users
사용자 수정PATCH /users/1
사용자 삭제DELETE /users/1

URI에 동사(/getUser, /createUser)를 넣지 않고 명사(자원) 로 표현하며, 행위는 메서드로 구분하는 것이 RESTful 설계의 기본입니다.

RESTful API 설계 원칙으로 옳은 것은?

이 레슨을 다 읽으셨나요?

완료 표시는 이 브라우저에 저장됩니다.