Frontend

REST API란?

단점이없어지고싶은개발자 2022. 4. 6. 19:43
반응형

REST(Representational State Transfer)는 웹이 HTTP를 제대로 사용하지 못하고 있는 상황을 보고 HTTP의 장점을 최대한 활용할 수 있는 아키텍처로서 REST를 소개했고 이는 HTTP프로토콜을 의도에 맞게 디자인하도록 유도하고 있다.

REST의 기본원칙을 성실히 지킨 서비스 디자인을 ‘RESTful’이라고 표현한다.

즉, REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처고, RESTAPI는 REST를 기반으로 서비스 API를 구현한 것을 의미한다.

REST에서 가장 중요한 원칙 두 가지

  1. URI는 리소스를 표현하는데 집중
    1. 리소스를 식별할 수 있는 이름은 동사보다 명사를 사용한다.
  2. 행위에 대한 정의는 HTTP 요청 메서드를 통한다
    1. 요청 메서드는 클라이언트가 서버에게 요청의 종류와 목적을 알리는 방법이다.
    2. GET, POST, PUT, PATCH, DELTE를 사용하요 CRUD를 구현한다.
HTTP요청메서드 종류 목적 페이로드
GET index/retrieve 모든/특정 리소스 취득 X
POST create 리소스생성 O
PUT replace 리소스의 전체 교체 O
PATCH modify 리소스의 일부 수정 O
DELETE delete 무든/특정 리소스 삭제 X

장점

  1. 쉬운 사용법
    • REST API 메세지를 읽는 것만으로도 메세지가 의도하는 바를 명확하게 파악 할 수 있다.
    • 해당 URI와 원하는 메소드 자체만 독립적으로 이해하면 된다.
  2. 서버와 클라이언트간의 역할 분담
    • 클라이언트와 서버는 서로의 역할을 명확하게 분리할 수 있다.
    • HTTP 프로토콜 서비스라는 기본적인 요구만 충족되면 다양한 플랫폼에서 원하는 서비스를 쉽고 빠르게 개발하고 배포할 수 있게 된다.
  3. 명확한 데이터 타입을 표시
    • REST API는 헤더 부분에 URI 처리 메소드를 명시함으로써, 필요한 실제 데이터를 페이로드에 표현할 수 있도록 구성할 수 있는 기능을 제공. 세부적인 표현 문구를 JSON, XML등 다양한 언어를 이용하여 작성할 수 있고, 간결한 헤더 표현을 통한 가독성 향상 가능

단점

  1. 제한된 메소드
    • 메소드 형태가 제한적이다. 세부 기능들에 대한 제약 발생
  2. 표준의 부재
    • 표준이 존재하지 않는다. 디자인 가이드가 존재하지 않기 때문에 때론 혼돈을 야기한다.
반응형