RESTful 서비스

ddindo·2022년 6월 12일
0

REST(REpresentational State Transfer)

분산 하이퍼 미디어 시스템을 위한 아키텍쳐 스타일이며 크게 자원, 행위, 표현으로 구분된다.

  • 자원(Resource): URI
  • 행위(Verb): HTTP METHOD
  • 표현(Representations)

설계의 4대 원칙

  1. 모든 리소스는 URI로 식별한다.
    ex) /user/1 - id가 1인 유저를 나타냄
  2. 모든 리소스는 다중 표현을 가질 수 있다. (JSON, XML, etc)
  3. 모든 리소스는 HTTP 메소드로 접근/변경/생성/삭제 가능하다. (GET, POST, PUT, etc)
  4. 서버는 상태 정보를 갖지 않는다.

부가 설명

1.URI와 URL의 차이점
URI : 위치와 자원을 식별할 수 있는 정보
URL : 자료의 위치 정보만 나타냄
URL < URI

2. 자원을 표시할 때는 명사만을 사용 해야함
/user/1 O
/user/update/1 X


성숙도

Leonard Richardson이 고안한 모델로 0~3단계가 존재한다. ( 2단계 이상 부터 RESTful 하다고 함 )

  • Level 0 : Remote Procedure Invocation
    SOAP나 XML-RPC로 XML 메시지를 전송하여 POST 메소드만 사용
  • Level 1 : REST Resource
    POST 메소드를 사용하여 메소드와 인자를 사용하는 대신 REST URI를 사용
  • Level 2 : More HTTP verbs
    POST와 더불어 GET, DELETE 등 다른 메소드도 사용
  • Level 3 : HATEOAS
    클라이언트 요청에 따른 응답에 하이퍼미디어 컨트롤을 포함하고 있어서 클라이언트가 다음에 어떤 행동을 할지 안내함
    ex) 클라이언트가 상품 데이터를 요청할 때 응답으로 상품을 구매 할 수 있는 링크도 같이 전송

0개의 댓글