본문 바로가기
기타 개념정리

RESTful API 개념정리

by wakestand 2021. 1. 12.
반응형

레스트풀 API(RESTful API)는

REST 아키텍처의 제약 조건을 준수하는 API를 말하는데

 

REST는 Representational State Transfer의 약자가 되겠다

여기서 REST 아키텍처가 되려면 다음의 6 조건을 만족해야 하는데

 

Client-Server

클라이언트와 서버 간 어떤 종속성도 있으면 안됨

클라이언트는 서버 호출하는 방법만 알면 됨

 

Stateless

클라이언트에서 서버로 보낸 내용을 서버가 저장해서는 안됨

 

Cacheable

클라이언트는 서버가 보낸 응답 데이터(Response)를

로컬 캐시에 저장하여 재활용 가능

 

Uniform Interface

서버와 클라이언트를 일관적인 인터페이스로 분리

 

Layered System

계층화된 시스템 아키텍처를 사용해야 함

(서버를 여러개로 나누고 배포, 저장, 요청 인증등의 기능을 수행)

여기서 클라이언트는 서버와 통신 시

어느 서버로 붙는지 알 수 없어야 한다

 

Code On Demand(Optional)

이건 넣어도 되고 빼도 되는 부분인데

서버가 클라이언트가 실행할 수 있는 로직을 전송해서

클라이언트가 사용할 수 있는 기능을 확장할 수 있도록 한다

 

위 조건들을 모두 만족하거나

Code On Demand를 제외하고 만족하는 API를

RESTful API라고 쳐주게 되는데

 

천천히 생각해보면

요즘 저런거 안되는 API가 어딨다고

굳이 RESTful을 붙이나 싶을거다

하지만 RESTful API가 정확히 2000년에

나온 개념이라는 것을 생각해보면 이해가 될거다

 

마지막으로 RESTful API는 면접에서도 자주 나오는 문제인데

딱 보면 감이 올거다

 

1. RESTful API란?

> REST 아키텍처의 제약 조건을 준수하는 API

2. REST 아키텍처란?

위의 6 조건을 만족하는 아키텍처를 말한다

3. API란?

> Application Programming Interface

클라이언트에서 파라미터를 넣어 요청을 해서 서버로 보내면

서버에서 처리한 뒤 결과를 보내주는 것들을 API라고 한다

예를 들면 네이버 지도 API라던가, 카카오 로그인 API라던가..

반응형

댓글