탄생

REST는 2000년도 로이필딩이 만들었다고 합니다. 웹의 장점을 극대화 할 수 있는 아키텍쳐로써 처음 제시했다고 하네유

REST구성

REST API는 다음의 구성으로 이루어져 있습니다.

  1. 자원 (Resource)
  2. 행위 (Verb)
  3. 표현 (Representations)

REST의 특징

  1. 유니폼 인터페이스

→ URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하도록 지향합니다

  1. 무상태성

→ 작업을 위한 상태정보를 따로 저장하고 관리하지 않습니다. 단순히 API서버는 들어오는 요청을 처리하기만 하면 됩니다.

  1. 캐시 가능

→ HTTP라는 기존 웹표준을 그대로 적용했기에 HTTP가 가진 캐싱기능을 그대로 활용할 수 있습니다.

  1. Client-Server구조

REST서버는 API제공, 클라이언트는 사용자 인증이나 컨텍스트를 직접 관리하는 구조로 역할이 확실히 구분됩니다. 때문에 개발내용이 명확하고 의존성이 줄어들죠

  1. 계층형 구조

REST서버는 다중 계층으로 구성될 수 있으며 보안, 로드밸런싱, 암호화 계층을 추가해 구조상의 유연성을 둘 수 있습니다. 또한 PROXY, 게이트웨이 같은 네트워크 기반의 중간매체를 사용할 수 있게 합니다.

REST API 디자인 가이드

  1. URI는 정보의 자원을 표현합니다