rest

What is the RESTful API

Rest API 란 WWW 과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식으로 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반에 대한 패턴이다.

좀 더 쉽게 말하자면, REST API 란 인터넷이라는 정보의 바다에서 정보를 주고받는 활동을 인터넷에 있는 자원과 자원의 위치를 명시 하는 일종의 방법론이자 아키텍처이다. API 설계의 핵심은 자원을 사용하는 것이고 HTTP method 를 통해 자원을 처리하는 양식을 일컷는다.

Characteristics of REST API

  1. Uniform Interface
    URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행합니다.
    이는 REST API 의 핵심이며, 자원과 자원에 대한 행위(HTTP method) 를 명확히 구분하고 준수합니다.

  2. Stateless
    REST 는 상태를 가지지 않습니다. 즉, 작업을 위한 상태 정보를 저장하고 관리하지 않기에 서버는 들어오는 요청만 단순히 처리하면 됩니다. 이를 통해 구현이 간편해 집니다.

  3. Cacheable
    HTTP라는 기존 웹표준을 그대로 사용하기 때문에, Http가 가진 캐싱 기능을 사용할 수 있습니다.
  4. Self descriptiveness
    REST API uri 만 보고도 이를 쉽게 이해할 수 있는 자체 표현구조로 되어있습니다.
  5. Client-Server 구조
    자원을 제공자인 Server 와 사용자인 Client 가 명확히 구분되기에 의존성이 없습니다.
  6. 계층형 구조
    REST 서버는 다중 계층으로 구성될 수 있으며 보안, 로드 밸런싱, 암호화 계층을 추가해 구조상의 유연성을 둘 수 있고 PROXY, 게이트웨이 같은 네트워크 기반의 중간매체를 사용할 수 있게 합니다.

How to design RESTful API

REST API 설계시 가장 중요한 항목은 다음 두가지로 요약할 수 있습니다.

  1. URI 는 정보의 자원을 표현해야 한다.
  2. 자원에 대한 행위는 HTTP method 로 표현한다.

즉, URI 는 어떤 자원을 사용할지에 대한

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×