ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Restful API
    카테고리 없음 2023. 7. 19. 19:34

    REST란?

    자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든것을 의미한다.

    1. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
    2. HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해
    3. 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미합니다.
    CRUD Operation이란
    CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말로 
    REST에서의 CRUD Operation 동작 예시는 다음과 같다.

    REST의 특징

    • Server-Client(서버-클라이언트 구조)
      REST는 리소스(자원)을 중심으로 설계되어야 한다. 리소스는 고유한 식별자를 가지며, 클라이언트는 이러한 리소스를 조작하기 위해
      HTTP메서드 (GET,POST,PUT,DELETE등)을 사용한다.
    • Stateless(무상태)
      요청 간의 상태를 서버에 저장하지 않는 상태없음 특징을 갖는다. 각 요청은 서버에 대한 완전한 정보를 포함하고 있어야 하며, 서버는 클라이언트의 상태를 관리하지 않는다. 이는 서버의 확장성과 클라이언트와 서버의 독립성을 높여준다.
    • Cacheable(캐시 처리 가능)
      클라이언트는 서버의 응답을 캐시할 수 있는데 이를 통해 동일한 요청에 대한 반복적인 네트워크 요청을 줄이고 성능을 향상시킨다.
    • Layered System(계층화)
      REST아키텍처는 다중 계층으로 구성될 수 있다. 클라이언트는 중간계층(로드밸런서, 캐시 서버 등)을 통해서버와 통신할 수 있으며, 중간계층은 요청의 처리나 보안등을 담당한다. 
    • Uniform Interface(인터페이스 일관성)
      리소스에 대한 조작을 위한 HTTP메서드 (GET,POST,PUT,DELETE등) 리소스의 표현을 위한 미디어 타입등을 사용한다. 이를 통해 시스텝의 가시성과 이해성을 높일 수 있다

    RESTful이란?

    Restful이란 REST의 원리를 따르는 시스템을 의미한다. 하지만 REST를 사용했다 하여 모두가 Restful한 것은 아니다.

    REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTful하다 말할 수 있으며, 모든 CRUD 기능을 POST로 처리 하는 API 혹은 URI 규칙을 올바르게 지키지 않은 API는 REST API의 설계 규칙을 올바르게 지키지 못한 시스템은 REST API를 사용하였지만 RESTful 하지 못한 시스템이라고 할 수 있다.

     

Designed by Tistory.