개요: 클라이언트와 서버 간의 통신을 위한 일련의 원칙과 규칙을 정의
▶ 구성과 의미
1. REST: Representational State Transfer의 약자로, 네트워크에서 통신을 구성할 때 이런 구조로 설계하라는 지침을 의미
2. API: Application Programming Interface의 약자로, 응용 프로그램 프로그래밍 인터페이스를 뜻한다. 프로그램을 작성하기 위한 일련의 부프로그램, 프로토콜 등을 정의하여 상호 작용을 하기위한 인터페이스 사양을 의미
3. REST API: 네트워크와 웹에 맞춰진 API 통신 아키텍처로, 주로 웹 API 측에서 사용된다. REST API는 HTTP에 쓰이는 경우가 많으며, 클라이언트와 서버 간의 통신을 가능하게 한다.
4. RESTful API: REST를 잘 준수하는 API를 말하며, REST API의 핵심 원칙을 따르는 API를 의미
▶ 구성과 의미
- 자원(Resource): HTTP URI를 통해 자원을 식별하며, 각 자원은 HTTP 메서드를 통해 조작됨
- 행위(Verb): HTTP Method(GET, POST, PUT, DELETE 등)를 통해 자원에 대한 액세스 및 작업을 정의
- 표현(Representation): 자원의 상태는 다양한 형식(JSON, XML 등)으로 표현
- Client-Server(클라이언트-서버 구조): 클라이언트와 서버로 분리되어 있으며, 각각의 역할이 명확히 구분된다.
- Stateless(무상태성): 서버는 상태 정보를 저장하지 않으며, 각 요청은 완전히 독립적이다.
- Cache(캐시 처리 기능): 캐싱 기능을 사용하여 성능을 향상시킬 수 있다.
- Uniform Interface(인터페이스 일관성): 표준 형식으로 데이터가 전송되도록 구성되어 있어 다양한 시스템 간의 통합이 쉽다.
웹 상에서 사용자 정보를 관리하는 서비스가 있다고 가정해보자. 이 서비스에는 사용자 목록을 조회하고, 새로운 사용자를 추가하며, 특정 사용자 정보를 업데이트하거나 삭제하는 기능을 필요로 한다.
1. 자원(Resource): 각 사용자는 고유한 식별자를 가지며, 이를 통해 조회 및 조작된다. 사용자 목록을 조회하는 URI는 "/users"이며, 특정 사용자를 식별하는 URI는 "/users/{id}"와 같이 표현된다.
2. 행위(Verb): HTTP Method(GET, POST, PUT, DELETE 등)를 사용하여 각 사용자 자원에 대한 액세스 및 작업을 정의한다. 예를 들어, GET 메서드는 사용자 목록을 조회할 때, POST 메서드는 새로운 사용자를 추가할 때 사용된다.
3. 표현(Representation): 각 사용자 정보는 JSON 또는 XML과 같은 형식으로 표현된다. 예를 들어, JSON 형식의 사용자 정보는 다음과 같이 표현될 수 있다.
{
"id": 1,
"username": "cian",
"email": "cian@tistory.com",
"age": 20
}
위와 같이 REST API를 설계하면, 클라이언트는 각 사용자 정보에 대한 CRUD(Create, Read, Update, Delete) 기능을 수행할 수 있다. 예시로, 클라이언트는 GET 메서드를 사용하여 사용자 목록을 조회하고, POST 메서드를 사용하여 새로운 사용자를 추가할 수 있습니다. 또한, PUT 메서드를 사용하여 특정 사용자 정보를 업데이트하거나 DELETE 메서드를 사용하여 사용자를 삭제할 수 있다.
'프로그래밍 > 프로그래밍 용어' 카테고리의 다른 글
클래스, 객체, 인스턴스 (Class, Object, Instance)의 개념 (1) | 2024.08.05 |
---|---|
Fetch란 무엇인가? (0) | 2024.05.29 |
훅(Hook)에 대한 맛보기 정리 (0) | 2024.05.25 |
SOLID의 개념 소개 (0) | 2023.06.27 |
API에 대한 간단한 정리 (0) | 2023.01.03 |