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)
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(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
댓글