RESTful API란 무엇인가?
REST(Representational State Transfer) 아키텍처 스타일의 설계 원칙을 준수하는 API(Application Programming Interface)*이다. 즉, 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태 (정보)를 주고받는 모든 것을 의미한다.
*아키텍처 스타일 설계원칙 : 소프트웨어 아키텍쳐에서 일반적으로 발생하는 문제점들에 대한 일반화되고 재사용 가능한 솔루션 원칙
API란 무엇인가?
API(Application Programming Interface)는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 말한다. 개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성한다.
웹 API는 클라이언트와 웹 리소스 사이의 게이트웨이라고 생각할 수 있음.
클라이언트
클라이언트는 웹에서 정보에 액세스하려는 사용자이다. 클라이언트는 API를 사용하는 사람이거나 소프트웨어 시스템일 수 있음.
리소스
다양한 애플리케이션이 클라이언트에게 제공하는 정보. 리소스는 이미지, 동영상, 텍스트, 숫자 또는 모든 유형의 데이터일 수 있다. 클라이언트에 리소스를 제공하는 시스템을 서버라고도 함.
REST란 무엇인가?
REST(Representational State Transfer)는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처. API 개발자는 여러 아키텍처를 사용하여 API를 설계할 수 있음. REST 아키텍처 스타일을 따르는 API를 REST API라고 한다. REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹 서비스라고 한다.
다음은 REST 아키텍처 스타일의 몇 가지 원칙이다.
- HTTP URI를 통해 자원을 명시하고, HTTP Method (POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD OPERATION을 적용하는 것을 의미한다.
- 즉, REST는 자원 기반의 구조 (ROA: Resource Oriented Architecture) 설계의 중심에 Resoure가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐를 의미한다.
- 웹의 모든 자원에 고유한 ID인 HTTP URI 를 부여한다.
REST의 구성
- 자원(Resource) - URL
- 모든 자원에 고유한 ID가 존재하고, 이 자원은 Server에 존재한다.
- 자원을 구별하는 ID는 /orders/order_id/1 와 같은 HTTP URI이다.
2. 행위 (Verb) - Http Method
- HTTP 프로토콜의 Method를 사용한다.
- HTTP 프로토콜은 GET, POST, PUT, DELETE와 같은 메서드를 제공한다.
3. 표현 (Representaion of Resource)
- Client가 자원의 상태 (정보)에 대한 조작을 요청하면 Server는 이에 적절한 응답 (Representation)을 보낸다
- REST에서 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태의 Representation으로 나타낼 수 있다.
- 현재는 JSON으로 주고받는 것이 대부분이다.

'개발' 카테고리의 다른 글
| FSD(Feature Sliced Design) (0) | 2024.08.06 |
|---|