ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • REST API
    카테고리 없음 2022. 5. 29. 22:20

    REST

    분산 하이퍼미디어 시스템을 위한 아키텍쳐 스타일

     

    창시자 Roy T. Fielding 

    HTTP Protocol을 해치지 않고 유저간 데이터 전송을 하기 위해

    1994년 HTTP Object Model을 만들었고

    1998년 Microsoft Research에서  REST란 이름으로 공식 발표 함

     

    API

    1998년 MS에서 XML-RPC 라는 전송 프로토콜을 만들었고 추후 SOAP라는 이름으로 변경 됨

     

    2002.02년 Salesforct 라는 회사에서 최초의 API를 만듬

    이 API는 SOAP로 API를 만들었고 너무 복잡하고 소스길이가 길어서 인기가 없었음

     

     

    2004.08

    Flickr라는 곳에서 

    SOAP 방식과 REST 방식의 API를 제공하였다.

     

    SOAP API
    REST API

     

    SOAP REST
    복잡하다 단순하다
    규칙 많음 규칙 적음
    어렵다 쉽다

     

     

    2016 MS에서 REST API Guidelines 제공

    • URL은 https://{serviceRoot}/{collection}/{id} 형식이어야한다
    • GET, PUT, DELETE, POST, HEAD, PATCH, OPTIONS을 지원하여야 한다.
    • API 버저닝은 Major.minor로 하고 URL에 버전 정보를 포함시킨다

     

    REST를 구성하는 스타일

    • client-server (클라이언트 서버구조)
    • stateless(무상태)
    • cache(캐시 처리 가능)
    • uniform interface(독립적 진화)
    • layered system(계층화)
    • code-on-demand (optional)

    Uniform Interface

     독립적 진화

    • 서버와 클라이언트가 각각 독립적으로 진화한다.
    • 서버의 기능이 변경되어도 클라이언트를 업데잉트할 필요가 없다.
    • REST를 만든게 된 계기 "How do i improve HTTP without breaking the Web."

    구성

    • identification of resources (리소스가 url로 식별이 가능하면 된다)
    • manipulation of resources through representations(리소스가 변경이 되면 http msg에 포함 시킬것)
    • self-descriptive messages (메시지는 스스로를 설명해야한다)
    • hypermedia as the engine of application state (HATEOAS)
      (어플리케이션의 상태는 Hyperlink를 이용해 전이되어야한다)

    REST FUL

    • REST 창시자 Roy T. Fielding의 모든 조건을 만족하는 REST

     

    일반적인 REST API

    • Uniform Interface의 조건은 만족하지 않으나 나머지 구성은 만족하는 형태

     

     

     

     

Designed by Tistory.