반응형
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)의 세 가지 요소로 구성됩니다.
간단히 설명하면 다음과 같습니다:
- 자원 (Resource): REST API에서 접근할 대상을 의미합니다.
이는 URI를 통해 식별됩니다.
예를 들어, 웹 페이지의 URI는 해당 페이지 자원을 가리킵니다. - 행위 (Verb): 자원에 대한 행위를 나타냅니다.
이는 표준 HTTP 메소드를 사용하여 자원에 접근합니다.
일반적으로 사용되는 메소드에는 GET, POST, PUT, DELETE 등이 있습니다. - 표현 (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)
[Web] API란? REST API란? RESTful 이란? REST 구성 요소, 특징, 장단점 (tistory.com)
REST APIs Explained - 4 Components (mannhowie.com)
반응형
댓글