본문 바로가기
IT/단어

Rest API 란?

by 하요 2024. 6. 1.
반응형

REST API(Representational State Transfer Application Programming Interface)

웹 서비스 설계 아키텍처 중 하나로, 클라이언트와 서버 간의 상호 작용을 보다 단순하고 효율적으로 만들기 위해 설계되었습니다.

REST는 리소스를 중심으로 데이터와 기능을 구성하며, 각 리소스는 고유한 URL로 식별됩니다. RESTful한 웹 서비스는 HTTP 프로토콜을 사용하여 리소스에 접근하고 조작하는 방식을 따릅니다.

 

REST의 주요 원칙

1. 클라이언트-서버 구조 (Client-Server Architecture)
   - 클라이언트와 서버는 서로 독립적이어야 하며, 클라이언트는 사용자 인터페이스를 관리하고 서버는 데이터 저장과 로직을 처리합니다. 이 구조는 시스템의 확장성을 높입니다.

2. 무상태성 (Statelessness)
   - 각 요청은 독립적이며, 요청 간에 상태 정보를 저장하지 않습니다. 즉, 서버는 이전 요청의 문맥을 유지하지 않습니다. 모든 필요한 정보는 요청 자체에 포함되어야 합니다.

3. 캐시 가능성 (Cacheability)
   - HTTP 응답은 명시적으로 캐시될 수 있어야 합니다. 이는 클라이언트가 서버로부터 동일한 응답을 반복해서 요청하지 않도록 하여 성능을 향상시킵니다.

4. 계층화 시스템 (Layered System)
   - 클라이언트는 중간 서버를 통해 최종 서버에 접근할 수 있습니다. 이 계층화는 시스템의 보안, 로드 밸런싱, 캐싱 등의 장점을 제공합니다.

5. 인터페이스 일관성 (Uniform Interface)
   - REST는 클라이언트와 서버 간의 상호 작용을 표준화된 방식으로 단순화합니다. 이는 시스템의 모듈화를 용이하게 합니다.

6. 요구 시 코드 (Code on Demand)
   - 선택적으로 서버는 클라이언트에게 실행 가능한 코드를 보낼 수 있습니다. 예를 들어, 자바스크립트와 같은 스크립트를 보낼 수 있습니다. 이 원칙은 RESTful 시스템에서 필수는 아닙니다.

 

HTTP 메서드와 CRUD 연산 매핑

REST API는 주로 HTTP 프로토콜의 메서드를 활용하여 리소스를 조작하며, 각 메서드는 CRUD(생성, 읽기, 갱신, 삭제) 연산과 매핑됩니다.

- GET: 리소스 조회 (Read)
- POST: 리소스 생성 (Create)
- PUT: 리소스 전체 갱신 (Update)
- PATCH: 리소스 부분 갱신 (Partial Update)
- DELETE: 리소스 삭제 (Delete)

 

장점

1. 단순성과 명확성 : REST는 HTTP 프로토콜을 기반으로 하여 명확하고 직관적인 인터페이스를 제공합니다.
2. 확장성 : 무상태성과 계층화 시스템 덕분에 시스템을 확장하고 유지보수하기가 용이합니다.
3. 유연성 : 다양한 데이터 형식을 지원하며, 클라이언트와 서버가 독립적으로 발전할 수 있습니다.
4. 인터넷 표준 준수 : HTTP, URI, JSON, XML 등의 표준을 사용하므로 상호 운용성이 높습니다.

단점

1. 복잡한 트랜잭션 : REST는 무상태성이기 때문에 복잡한 트랜잭션을 구현하는 데 어려움이 있을 수 있습니다.
2. 과도한 데이터 전송 : 필요한 데이터만 전송하는 것이 어려울 수 있으며, 이는 성능에 영향을 줄 수 있습니다.
3. 표준의 부족 : REST는 엄격한 표준이 없기 때문에 API 설계에 있어 일관성을 유지하는 것이 어려울 수 있습니다.

반응형

'IT > 단어' 카테고리의 다른 글

CDN(Content Delivery Network)이란?  (1) 2024.10.08
myBatis란?  (0) 2022.04.18
Hosts 파일 위치 및 수정  (0) 2022.04.16
XML 이란?  (0) 2022.04.13
RSS란?  (0) 2022.04.12

댓글