REST

기술 용어
1분 읽기

HTTP 프로토콜의 강점을 활용하여 웹상의 리소스를 관리하는 소프트웨어 아키텍처 스타일입니다. 각 자원을 고유한 URI로 식별하고 표준 HTTP 메서드를 통해 상태를 주고받으며, AI 서비스의 데이터 연동과 모델 배포에서 가장 널리 사용되는 API 설계 표준입니다.

다른 이름
REST APIRESTfulRepresentational State Transfer

상세 설명

REST(Representational State Transfer)는 웹의 기존 인프라를 그대로 활용하도록 설계된 아키텍처 스타일입니다. 자원(Resource)을 이름으로 구분하여 해당 자원의 상태를 주고받는 것이 핵심입니다. 주요 특징으로는 클라이언트와 서버의 분리, 무상태성(Statelessness), 캐시 가능성, 계층화된 시스템 등이 있습니다. AI 분야에서 REST는 대규모 언어 모델(LLM)이나 데이터 처리 파이프라인을 호출할 때 표준적인 인터페이스를 제공합니다. 개발자는 복잡한 환경 설정 없이 HTTP 요청만으로 텍스트 생성, 이미지 분석 등 AI 기능을 자신의 애플리케이션에 신속하게 통합할 수 있습니다. 최근에는 JSON 형식을 데이터 교환의 기본으로 사용하며, 뛰어난 범용성과 단순성 덕분에 OpenAI, Anthropic 등 주요 AI 기업들의 API는 대부분 REST 방식을 채택하고 있습니다.

AI 도구 선택에서 중요한 이유

AI 솔루션을 기존 레거시 시스템이나 웹 서비스에 통합할 때, REST 지원 여부는 호환성의 핵심입니다. 별도의 복잡한 라이브러리 설치 없이도 표준 HTTP 라이브러리만으로 AI 기능을 연동할 수 있는 범용성을 제공하기 때문입니다. 또한, 무상태성 덕분에 서버 확장이 용이하여 급증하는 AI 추론 요청을 효율적으로 처리할 수 있습니다.

AI API 선택 시 확인할 점

  • API 엔드포인트 구성이 리소스 중심(명사형 URL)으로 직관적인가?
  • 인증 방식(API Key, Bearer Token 등)이 표준 HTTP Header를 따르는가?
  • 에러 응답 시 표준 HTTP 상태 코드(400, 401, 429 등)를 정확히 반환하는가?
  • 대량 데이터 처리가 필요할 경우 REST 외에 gRPC나 Streaming 방식을 병행 지원하는가?

실제 활용 예시

OpenAI의 Chat Completion API는 RESTful 설계의 전형입니다. `POST https://api.openai.com/v1/chat/completions`라는 URL(리소스)에 JSON 형식의 메시지를 담아 보내면, 서버는 처리된 AI 응답을 다시 JSON으로 반환합니다. 이는 개발자가 어떤 프로그래밍 언어를 사용하든 동일한 방식으로 연동할 수 있게 해줍니다.

다른 API 방식과 비교

GraphQL

클라이언트가 필요한 데이터 구조를 직접 정의하여 쿼리하는 방식으로, REST의 오버페칭(필요 이상의 데이터 수신) 문제를 해결하지만 캐싱 구현이 복잡합니다.

gRPC

Google이 개발한 고성능 RPC 프레임워크로, 바이너리 데이터를 사용해 REST보다 빠르고 효율적이지만 브라우저 직접 호출이 어렵고 구현 난이도가 높습니다.

관련 용어

APIjsongraphqlgrpchttp-methods