Network - RESTful API

enjoywater·2020년 9월 22일
0

TIL

목록 보기
27/36
post-thumbnail

RESTful API

RESTful API에서 REST란,

REpresentational State Transfer의 약자로, HTTP기반으로 필요한 자원에 접근하는 방식을 정해놓은 아키텍쳐

이다.

위 정의에서 말하는 자원저장된 데이터, 이미지/동영상/문서등의 파일, 서비스를 모두 포함한다.

RESTful API

REST특징을 지키면서 API를 제공하는 것을 의미한다.


REST Architecture의 원칙, 구성

6가지 원칙

  • Client / server 구조
    일관적인 인터페이스로 분리되어야 한다.

  • Stateless
    각 요청 간 Client의 Context가 서버에 저장되어서는 안된다.

  • Cacheable (캐시 처리 가능)
    WWW에서와 같이 Client는 응답을 캐싱할 수 있어야 한다.

  • Layered System (계층화)

  • Code on demand

  • 인터페이스 일관성

구성

  • 자원 (Resource) => URI
  • 행위 (Verb) => HTTP Method
  • 표현 (Representations)

RESTful API 장/단점

장점

  • 쉬운 사용
    API 메세지를 읽는 것 만으로도 의도하는 바를 파악가능

  • Client / Server의 완벽한 분리
    각자의 역할이 명확하게 구분됨

  • 특정 데이터의 세부표현
    필요한 실제 데이터를 Body에 표현가능

단점

  • HTTP방식의 제한
    Method의 형태가 제한적

  • 정의되지 않은 표준
    정형화된 API 디자인 가이드가 존재하지 않음

0개의 댓글