REST와 REST API

정삼복·2023년 10월 25일
0

기본 개발 개념

목록 보기
2/3

REST란

REST(REprentational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것

CRUD(Create Read Update Delete)

예를 들어 영화 API에서 사용자가 영화를 읽고, 댓글을 달고, 수정하고, 삭제하는 것들을 말한다.

HTTP Methods

  1. GET: 데이터 조회(Read)
  2. POST: 데이터 생성(Post)
  3. PUT: 데이터 수정(Update)
  4. DELETE: 데이터 삭제(Delete)

즉 REST는

HTTP URL를 통해 Resource를 명시하고,

HTTP Method를 통해

해당 URL에 대한 CRUD를 적용하는 것이다.

REST 구성 요소

Resource(자원): HTTP URL

Verb(자원에 대한 행위): HTTP Method

Representations(Verb의 내용): HTTP Message Pay Load

Pay Load란 전송되는 데이터를 의미한다.

REST의 특징

  1. Server-Client(서버-클라이언트 구조)
  2. Stateless(무상태)
  3. Cacheable(캐시 처리 가능)
  4. Layered System(계층화)
  5. Uniform Interface(인터페이스 일관성)

REST의 대표적인 장단점

장점

  1. 쉬운사용
    • HTTP 프로토콜을 기반으로 하여 간단하고 직관적인 인터페이스를 제공합니다. HTTP Method를 사용하여 데이터를 조작하므로 개발자들이 쉽게 이해하고 사용할 수 있습니다.
  2. Complete Seperation between Client and Server
    • 클라이언트와 서버과 분리되어 각자의 역할이 명확하게 분리되어 있기에 HTTP 프로토콜 서비스라는 요건만 충족되면 다양한 플랫폼에서 서비스를 쉽고 빠르게 배포할 수 있다.

단점

  1. Restriction of HTTP Method
    • HTTP Method만 사용하기 Method의 형태가 제한적 이라는 문제점을 가집니다.
  2. Absence of Standard
    • REST 공식화된 문서가 없어 표준이 존재하지 않습니다.

REST API란

REST의 원리를 따르는 API이다.

REST API 설계 규칙

  1. 동사를 사용하지 않고, 소문자를 사용하여야 한다.

    Bad Example `http://3obku.me/Cooking`
    Good Example `http://3boku.me/cook`
  2. URL마지막에 ‘/’를 포함하지 않는다.

    Bad Example `http://3obku.me/rest/`
    Good Example `http://3boku.me/rest`
  3. ‘_’대신 ‘-’을 사용한다.

    Bad Example `http://3obku.me/ksdc_hyper`
    Good Example `http://3boku.me/ksdc-hyper`
  4. 파일 확장자는 URL에 포함하지 않는다.

    Bad Example `http://3obku.me/screenshot.png`
    Good Example `http://3boku.me/screenshot`
  5. HTTP Method만 사용한다.

    Bad Example `http://3obku.me/edit-class`
    Good Example `http://3boku.me/put-class`

RESTful API

REST의 원리를 따르는 시스템이다.

하지만 모든 REST를 사용한 API가 RESTful API는 아니다.

REST API의 설계 규칙을 잘 지킨 시스템만 RESTful하다 말할 수 있다.

profile
재밌어 보이는건 다 하고있습니다.

0개의 댓글

관련 채용 정보