개발관련/용어

RESTFUL API란?

고통받는다 2023. 7. 2. 04:37

Android 개발자로 취업하려고 여러 채용 공고들을 보면 RESTFUL API에 대해 기본적인 이해를 가지신 분

이라는 자격 요건을 많이들 보실 수 있으십니다.

그럼 이 RESTFUL API라는 게 대체 뭘까요?

RESTFUL API

 

RESTFUL API는 Representational State Transfer(REST) 아키텍처 스타일을 따라 설계된 API로, 웹 서비스의 리소스를 사용하고 조작하기 위한 인터페이스를 제공하는 프로그램 인터페이스를 말합니다.

REST는 HTTP 프로토콜을 기반으로 하며, 간단하고 확장 가능한 아키텍처를 갖추고 있어 아주 많은 곳에서 사용되고 있습니다.

RESTFUL API 특징

 

1. Resource-Based

리소스(데이터 또는 서비스)를 고유한 URI로 표현하고, HTTP 메서드 (GET, POST, PUT, DELETE)를 사용하여 리소스를 조작합니다.

2. Stateless

각 요청은 독립적으로 처리되어야 하며, 서버는 클라이언트의 상태를 기억하지 않습니다.

클라이언트의 상태 정보는 요청에 포함되어야 합니다.

3. Cacheable

RESTFUL API는 HTTP의 캐싱 기능을 활용하여 성능을 개선할 수 있습니다.

4. Client-Server Architecture

클라이언트와 서버는 독립적으로 발전하며, 서로 간의 의존성이 낮습니다.

이를 통해 시스템의 확장성과 유연성이 개선됩니다.

5. Layered System

RESTFUL API는 다중 계층으로 구성될 수 있습니다.

각 계층은 독립적으로 개발될 수 있고, 시스템의 복잡성을 낮추는 데 도움을 줍니다.

Ex. 로드밸런싱, 보안, 캐싱 등의 기능을 계층으로 구분하여 구현할 수 있습니다.