blevels

Home / AI / AI 용어사전 / REST — 웹 API 설계의 기본 규칙, AI도 이걸 따른다

TERM

REST — 웹 API 설계의 기본 규칙, AI도 이걸 따른다

게시일 2026-04-30수정일 2026-04-30
공식 링크
On this page

ChatGPT API를 호출하든, Notion API로 데이터를 가져오든, 거의 모든 AI 서비스 API는 REST 원칙을 따른다. REST는 웹에서 데이터를 주고받는 방식에 대한 설계 규칙이며, 오늘날 인터넷 API의 사실상 표준이다. GET·POST·PUT·DELETE 네 글자가 이 모든 것의 기반이다.

정의

REST (Representational State Transfer)는 웹 서비스 설계를 위한 아키텍처 스타일(architectural style)이다. Roy Fielding이 2000년 박사 논문에서 제안했으며, HTTP 프로토콜의 특성을 최대한 활용하는 API 설계 원칙의 집합이다. REST 원칙을 따르는 API를 RESTful API라 부른다.

REST는 특정 기술 규격(specification)이 아니라 설계 철학이다. 따라서 "REST를 100% 준수하는가"보다는 "REST 원칙에 얼마나 가까운가"로 평가한다.

REST의 핵심 원칙

Stateless (무상태) 각 요청은 독립적이어야 한다. 서버는 이전 요청의 상태를 저장하지 않는다. 인증 토큰 등 요청에 필요한 모든 정보는 매 요청마다 포함된다. 이 원칙이 수평 확장(horizontal scaling)을 용이하게 만든다.

Client-Server 분리 클라이언트(UI)와 서버(데이터 처리)는 독립적으로 발전할 수 있다. 인터페이스(API 명세)만 유지하면 양쪽을 각각 교체 가능하다.

Uniform Interface (일관된 인터페이스) 리소스(resource)는 URL로 식별되고, 표준 HTTP 메서드로 조작된다. 이 일관성이 REST API를 처음 보는 개발자도 빠르게 파악할 수 있게 한다.

Cacheable 응답에 캐시 가능 여부를 명시해 클라이언트가 응답을 재사용할 수 있다. CDN과의 연동 시 성능에 직접 영향을 준다.

AD

HTTP 메서드와 리소스 설계

REST에서 리소스(데이터)는 URL로 표현되고, HTTP 메서드로 행위를 구분한다.

| HTTP 메서드 | 행위 | 예시 | |---|---|---| | GET | 조회 | GET /articles/123 | | POST | 생성 | POST /articles | | PUT | 전체 수정 | PUT /articles/123 | | PATCH | 부분 수정 | PATCH /articles/123 | | DELETE | 삭제 | DELETE /articles/123 |

URL(엔드포인트)은 명사로 리소스를 표현하고, 행위는 HTTP 메서드가 담당한다.

❌ 비RESTful: GET /getArticle?id=123
✅ RESTful:   GET /articles/123

❌ 비RESTful: POST /createUser
✅ RESTful:   POST /users

❌ 비RESTful: POST /deleteArticle/123
✅ RESTful:   DELETE /articles/123

HTTP 상태 코드

RESTful API는 HTTP 상태 코드로 처리 결과를 표현한다. 클라이언트는 상태 코드만으로 요청 성공·실패·오류 종류를 구분할 수 있다.

| 코드 | 의미 | |---|---| | 200 OK | 요청 성공 | | 201 Created | 리소스 생성 성공 | | 400 Bad Request | 잘못된 요청 파라미터 | | 401 Unauthorized | 인증 필요 | | 403 Forbidden | 권한 없음 | | 404 Not Found | 리소스 없음 | | 429 Too Many Requests | 요청 한도 초과 (AI API에서 빈번) | | 500 Internal Server Error | 서버 오류 |

AD

AI 서비스 API가 REST를 따르는 이유

Anthropic Claude API, OpenAI API, Gemini API 모두 RESTful 설계를 따른다.

  • HTTP 기반: 별도 프로토콜 없이 기존 인프라(CDN, 프록시, 방화벽) 활용 가능
  • 언어 무관: Python, JavaScript, Go 등 어느 언어에서도 HTTP 요청으로 호출 가능
  • 표준화: 개발자가 새 API를 배울 때 학습 비용이 낮음
  • Stateless: 수평 확장이 용이해 대규모 트래픽 처리에 적합
# Anthropic REST API 직접 호출 예시
import httpx

response = httpx.post(
    "https://api.anthropic.com/v1/messages",
    headers={
        "x-api-key": "API_KEY",
        "anthropic-version": "2023-06-01",
        "content-type": "application/json"
    },
    json={
        "model": "claude-sonnet-4-6",
        "max_tokens": 1024,
        "messages": [{"role": "user", "content": "Hello"}]
    }
)
print(response.json())

활용 사례

  • AI API 호출 (Claude, GPT, Gemini, Stable Diffusion)
  • Notion, GitHub, Slack, Figma API 연동
  • 모바일 앱 ↔ 백엔드 서버 통신
  • 마이크로서비스 간 내부 통신
  • 자동화 파이프라인의 서비스 간 데이터 교환

관련 용어

  • api — REST는 API 설계 방식 중 하나
  • json — REST API의 표준 요청·응답 데이터 형식
  • http — REST가 의존하는 전송 프로토콜
  • oauth — REST API 보호에 사용되는 인증 표준
  • webhook — REST의 역방향 패턴 (서버가 먼저 알림)
  • graphql — REST의 대안으로 사용되는 쿼리 기반 API 방식
AD