[CS] 되새기는 REST API

Donghyun Kim·2023년 7월 21일
0

REST란?

REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다.

HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미

CRUD Opertaion

CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말로
REST에서의 CRUD Operation 동작 예시는 다음과 같다.

  • Create : 데이터 생성(POST)
  • Read : 데이터 조회(GET)
  • Update : 데이터 수정(PUT, PATCH)
  • Delete : 데이터 삭제(DELETE)

REST 구성요소

REST는 다음과 같은 3가지로 구성이 되어있다.

  • 자원(Resource) : HTTP URI
  • 자원에 대한 행위(Verb) : HTTP Method
  • 자원에 대한 행위의 내용 (Representations) : HTTP Message Pay Load

REST의 특징

  • Server-Client(서버-클라이언트 구조)
  • Stateless(무상태)
  • Cacheable(캐시 처리 가능)
  • Layered System(계층화)
  • Uniform Interface(인터페이스 일관성)

REST API란?

RESPT API란 REST의 원리를 따르는 API를 의미한다.
하지만 REST API를 올바르게 설계하기 위해서는 지켜야 하는 몇가지 규칙이 있으며 해당 규칙은 다음과 같다.

RESTful이란?

RESTful이란 REST의 원칙을 준수한 시스템을 의미한다. REST 기반의 API 시스템이라 할 지라도 위 REST 원칙을 준수하지 않은 시스템은 RESTful한 API라고 할 수 없다.

따라서, "RESTful API는 REST 원칙을 잘 준수한 API 시스템" 이라고 할 수 있다.

REST 원칙을 준수하지 못한 API의 예시

  • 모든 CRUD 기능을 HTTP Post Method로만 처리한 경우
  • URI에 create, update, delete 등 행위를 포함한 경우
  • 등등
profile
"Hello World"

0개의 댓글