내 잡다한 노트

REST, REST API(RESTful) 이란? 본문

기타(etc)

REST, REST API(RESTful) 이란?

peanutwalnut 2022. 5. 26. 11:30

Representational State Transfer (REST)

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

즉 REST란

1. HTTP URI(Uniform Resource Identifier)를 통해 자원을 명시하고

2. HTTP Method를 통해

3. 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미합니다.

REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의

장점을 최대한 활용할 수 있는 아키텍처 스타일이다.

구체적으로 HTTP URI를 통해 자원을 명시하고, HTTP Method를 통해 해당 자원에 대한

CRUD Operation을 적용하는 것을 의미한다.

 

REST API란 REST를 기반으로 만들어진 API를 의미합니다. API 개발자는 REST를 다양한 방식으로

구현할 수 있습니다. 하지만 REST를 사용했다 하여 모두가 RESTful한 것은 아닙니다. 설계 규칙을

올바르게 지킨 시스템을 RESTful하다 말할 수 있습니다.

 

# 구성 요소

1. 자원 : HTTP URI

2. 자원에 대한 행위 : HTTP Method

3. 자원에 대한 행위의 내용 : HTTP Message Pay Load

 

# 장점

HTTP 프로토콜의 인프라를 그대로 사용함으로 REST API 사용을 위한 별도의 인프라를 구출할 필요가 없다.

HTTP 프로토콜의 표준을 최대한 활용하여 여러 추가적인 장점을 함께 가져갈 수 있게 해준다.

HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능하다.

Hypermedia API의 기본을 충실히 지키면서 범용성을 보장한다.

REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도하는 바를 쉽게 파악할 수 있다.

서버와 클라이언트의 역할을 명확하게 분리한다.

 

# 단점

표준 자체가 존재하지 않아 정의가 필요하다

사용할 수 있는 메소드가 4가지밖에 없다

HTTP Method 형태가 제한적이다.

브라우저를 통해 테스트할 일이 많은 서비스라면 쉽게 고칠 수 있는 URL보다 Header 정보의 값을

처리해야 하므로 전문성이 요구된다.

 

 

 

RESTful API를 통해 요청이 수행될 때 RESTful API는 리소스 상태에 대한 표현을

요청자에게 전송합니다. 이 정보 또는 표현은 HTTP: JSON, HTML, XLT 또는 일반 텍스트를 통해

몇가지 형식으로 전송됩니다. JSON은 그 이름에도 불구하고 사용 언어와 상관이 없을 뿐 아니라

인간과 머신이 모두 읽을 수 있기 때문에 가장 널리 사용됩니다.

 

'기타(etc)' 카테고리의 다른 글

빌드(Build)란 무엇인가?  (0) 2024.11.26
PoC (Proof of Concept)  (0) 2024.08.14