두음달인 2024. 6. 1. 11:53
반응형
REST API 

 

REST(Representational State Transfer) 아키텍처 스타일의 설계 원칙을 준수하는 API

클라이언트와 서버가 데이터를 주고 받는 방식에 대한 아키텍처 스타일로,
REST에는 여섯 가지의 기본 원칙이 있고,
이 가이드를 준수한 인터페이스는 RESTful 하다고 표현

 

REST 설계 원칙

 

Uniform Interface(일관된 인터페이스), 클라이언트 - 서버 구조, Stateless(무상태성),
Cacheable, Layered System(다중 계층), Code on Demand(Optional)

 

 

REST API 개념도

 

 

REST API 구성 요소

 

REST API는 자원(Resource), 행위(Verb), 표현(Representations)의 3가지 요소로 구성된다.

REST는 자체 표현 구조(Self-descriptiveness)로 구성되어 REST API만으로 요청을 이해할 수 있다.

 

구성 요소 내용 표현 방법
Resource 자원 HTTP URI
Verb 자원에 대한 행위 HTTP Method
Representations 자원에 대한 행위의 내용 HTTP Message Pay Load

 

[Bing]

REST API는 자원 (Resource), 행위 (Verb), 표현 (Representations)의 세 가지 요소로 구성됩니다.

간단히 설명하면 다음과 같습니다:

 

  1. 자원 (Resource): REST API에서 접근할 대상을 의미합니다.
    이는 URI를 통해 식별됩니다.
    예를 들어, 웹 페이지의 URI는 해당 페이지 자원을 가리킵니다.
  2. 행위 (Verb): 자원에 대한 행위를 나타냅니다.
    이는 표준 HTTP 메소드를 사용하여 자원에 접근합니다.
    일반적으로 사용되는 메소드에는 GET, POST, PUT, DELETE 등이 있습니다.
  3. 표현 (Representations): 서버가 클라이언트에게 전송하는 모든 콘텐츠를 의미합니다. 
    이는 비디오, 텍스트, 사진 등을 포함합니다.

REST API는 자체 표현 구조를 가지고 있어 요청을 이해할 수 있습니다. 

이 아키텍처는 컴퓨터 과학자 Roy Fielding에 의해 만들어졌으며,

RESTful 웹 서비스와 상호 작용할 수 있도록 합니다.

REST API를 사용하면 클라이언트와 서버 간의 효율적인 통신을 구현할 수 있습니다. 

어떤 자원에 어떤 행위를 어떻게 할지를 정의하는 HTTP 기반의 아키텍처입니다.

 

HTTP Method

 

주로 5가지의 Method(GET, POST, PUT, PATCH, DELETE)를 사용하여 CRUD를 구현한다.

 

Method Action 역할
GET index / retrieve 모든/특정 리소스를 조회
POST create 리소스를 생성
PUT replace 리소스의 전체를 교체
PATCH modify 리소스의 일부를 수정
DELETE delete 모든/특정 리소스를 삭제

 

REST와 RESTful의 차이점

 

REST RESTful
- 개념적 또는 이론적인 아키텍처 스타일
- 웹 서비스를 설계하는 데 사용되는
  원칙과 가이드라인 제공
- 실제 구현
- REST 원칙을 충실히 따르는 서비스나 애플리케이션

참고 문서

 

What is REST?: REST API Tutorial (restfulapi.net)

 

What is REST?: REST API Tutorial

REST is an acronym for REpresentational State Transfer. It is an architectural style for hypermedia systems and was first presented by Roy Fielding.

restfulapi.net

 

REST API | PoiemaWeb

 

REST API | PoiemaWeb

REST(Representational State Transfer)는 HTTP/1.0과 1.1의 스펙 작성에 참여하였고 아파치 HTTP 서버 프로젝트의 공동설립자인 로이 필딩 (Roy Fielding)의 2000년 논문에서 처음 소개되었다. 발표 당시의 웹이 HTTP

poiemaweb.com

 

[Web] API란? REST API란? RESTful 이란? REST 구성 요소, 특징, 장단점 (tistory.com)

 

[Web] API란? REST API란? RESTful 이란? REST 구성 요소, 특징, 장단점

API (Application Programming Interface)란? API는 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. -위키피디아- 위키피디

code-lab1.tistory.com

 

REST APIs Explained - 4 Components (mannhowie.com)

 

REST APIs Explained - 4 Components

How web applications talk to servers: 1. Basic format; 2. HTTP verbs; 3. URL endpoints; 4. Status codes.

mannhowie.com

 

반응형