thug_choonsik 춘식이 주특기: 삼촌들 용돈 뺏기

REST API

» HTTP

REST (Representational State Transfer) API란?

REST API는 좋은 URI 설계를 위한 일종의 가이드라인이다. REST 아키텍처의 제약 조건을 준수하는 API를 말한다. REST는 프로토콜이나 표준이 아닌 아키텍처 집합이다.


REST API는 다음과 같은 제약 조건을 준수해야 한다.

  • API에서 전송하는 자원(Resource)은 URI로 표현되어야 한다.
  • 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현되어야 한다.

그 외 몇가지 조건들이 있지만(REST API란?(redhat)), 일반적인 API 서버에서는 웬만큼 이미 충족되어 있는 조건들이다. 다만 Stateless 조건은 로그인이나 인증 같은 상태를 유지해야 하는 경우에는 적용하기 어려울 수 있다.


RESTful API 어떤 REST API가 REST의 제약 조건을 모두 충족한다면, 해당 API는 ‘RESTful하다’ 라고 표현한다.


현실에서 REST의 제약 조건을 모두 만족하는 API를 만드는 것은 불가능에 가깝다. 하지만, REST API의 모든 제약 조건을 만족하지는 못하더라도, REST의 제약 조건을 가능한 한 준수하도록 노력한다.