Skip to content

Latest commit

 

History

History
20 lines (14 loc) · 1.6 KB

rest-api.md

File metadata and controls

20 lines (14 loc) · 1.6 KB

REST api

Representational State Transfer(REST)는 API 작동 방식에 대해 조건을 부과하는 소프트웨어 아키텍처입니다. 그리고 REST 아키텍처 스타일을 따르는 API를 REST API라고 합니다.

HTTP URI를 통해 자원을 명시하고 HTTP METHOD (POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.

REST의 구성

  • 자원(Resource) - URL
  • 행위 - Http Method
  • 표현 - 현재는 JSON으로 정보를 주고 받음

REST의 특징

  • 클라이언트/서버 구조 : 클라이언트는 유저와 관련된 처리를, 서버는 REST API를 제공함으로써 각자 책임을 명확히 분리할 수 있습니다.
  • 무상태성 : REST는 HTTP의 특성을 이용하기 위해 무상태성을 가집니다. 즉 서버에서 어떤 작업을 하는지 상태정보를 기억할 필요가 없고 들어온 요청에 대해 처리만 해주면 되기 때문에 구현이 쉽고 단순해집니다.
  • 캐시 처리 가능 (Cacheable) : HTTP라는 웹표준을 사용하는 REST의 특징 덕분에 기본 웹에서 사용하는 인프라를 그대로 사용 가능하다.
  • 자체 표현 구조 : JSON을 이용한 메세지 포맷을 이용하여 직관적으로 이해할 수 있고, REST API 메세지만으로 그 요청이 어떤 행위를 하는지 알 수 있다.
  • 계층화 : 클라이언트와 서버가 분리되어 있기 때문에 중간에 프록시 서버 등 중간매체를 사용할 수 있어 자유도가 높다.
  • 유니폼 인터페이스 : HTTP 표준에만 따른다면 모든 플랫폼에서 사용이 가능하다.