ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • REST, REST API
    Spring 2019. 11. 4. 00:00

    REST와 REST API에 대한 강연 내용을 복습차원에서 요약했습니다.

    #REST

    분산 하이퍼미디어 시스템(ex>웹)을 위한 아키텍쳐 스타일
    * 아키텍쳐 스타일 - 제약조건의 집합

    제약조건

    • CLIENT - SERVER
    • STATELESS
    • CACHE
    • UNIFORM INTERFACE
      • SELF-DESCRIPTIVE MESSAGES
      • HATEOAS (hypermedia as the engine of application state)
    • LAYERED SYSTEM
    • CODE-ON-DEMAND

    다른제약조건들은 대부분 지켜지지만 4번째 (uniform interface) 는 잘 지켜지지 않고 있다고 합니다.
    그 중에서도 self-descriptive messages 와 HATEOAS 가 잘 지켜지지 않는다고 합니다.

    ## self-descriptvie message
    메시지는 스스로 설명해야 한다 (메시지만 봐도 해석이 가능해야 한다는 의미)
    JSON의 경우 key-value 형태를 json format으로 보내는데, 해당 메시지만 봐서는 key가 어떤의미인지 알 수가 없다. 해당 스펙에 대한 정의를 Link 또는 미디어타입에 명시하고 IANA에 해당 미디어 타입을 등록하는 방식을 적용할 필요가 있다. (엄밀한 기준을 지키기 위해서는)

    ## HAETOAS
    애플리케이션 상태는 하이퍼링크를 이용해 전이되어야 한다.

    ## 왜 UNIFORM INTERFACE를 지켜야 하는건가?
    서버와 클라이언트의 독립적인 진화를 위해서 필요하다. 서버의 기능이 변경된다고 해서 클라이언트를 업데이트 할 필요가 없도록 하기 위함.
    웹페이지가 변경됐다고 해서 웹브라우저(IE, 크롬, 사파리 등)를 업데이트 해야하진 않는다.
     

    #REST API

    위에서 제시한 6가지의 제약조건들을 지킨 것을 REST API라고 합니다.
    사실상 오늘날 대부분의 REST API는 REST의 제약조건 모두를 충족하고 있진 않다고 합니다. (특히 self-descriptive message, HATEOAS)
    하지만, 모든조건을 따를것인지에 대해서는 설계자의 몫.

    'Spring' 카테고리의 다른 글

    ChainedTransactionManager  (0) 2021.03.09
    spring-data-redis 테스트 (local, remote 테스트)  (0) 2019.10.28

    댓글

Paycis's