본문으로 건너뛰기

API 유형

카카오클라우드 API Gateway에서는 두 가지의 API를 제공합니다.

REST API

REST API는 아래와 같이 작동합니다.

  1. 클라이언트가 서버에 요청(Request)을 전송합니다. 이때 전송되는 요청은 정의된 API에 따라 서버가 이해할 수 있는 형식이어야 합니다.
  2. 서버가 클라이언트를 인증한 뒤, 해당 요청을 수행할 수 있는 권한이 클라이언트에 있는지 확인합니다.
  3. 서버가 요청을 수신 후 내부적으로 처리합니다.
  4. 서버가 클라이언트에 이 요청에 대한 응답(Response)을 반환 및 전달합니다. 이 응답에는 요청에 대한 성공 여부 및 성공 시 클라이언트가 요청했던 값에 대한 모든 응답값이 포함됩니다.

Websocket API

반면, Websocket API는 REST API와 비교 시 아래와 같은 특징이 있습니다.

  • 요청을 받고 응답하는 REST API와는 달리, 클라이언트 및 서버 간 양방향 통신을 지원합니다.
  • 클라이언트와 서버 간의 지속적인 연결이 유지되며, 실시간 데이터 전송이 가능합니다.
  • 실시간 스트리밍, 실시간 채팅, 온라인 게임과 같이 즉각적으로 정보를 주고 받아야 하는 실시간 통신이 필요한 환경에서 사용됩니다.

REST API vs. Websocket API

카카오클라우드 API Gateway에서 지원되는 두 형식의 API를 비교합니다. 차이점을 이해한 후 사용자의 애플리케이션에 가장 적합한 것을 선택하여 사용하시기 바랍니다.

통신 방식

  • REST API: 요청/응답 방식으로 동작하며, 클라이언트가 요청을 보낸 뒤 서버가 응답을 반환하는 구조.
  • Websocket API: 양방향 통신 방식으로 동작하며, 클라이언트와 서버 간 지속적인 데이터 교환이 가능한 구조.

상태 관리

  • REST API: 각 요청은 독립적이고 서버는 상태를 저장하지 않는 무상태 형식.
  • Websocket API: 연결이 지속되는 동안 상태 정보를 보존하는 상태 유지 형식.

사용 사례

  • REST API: 데이터 조회 및 관리, 일반적인 CRUD 작업이 필요한 애플리케이션, 마이크로서비스 통신 등에 사용.
  • Websocket API: 실시간 애플리케이션, 실시간 업데이트, 온라인 게임과 같은 환경에서 사용.

프로토콜

  • REST API: HTTPHTTPS를 사용.
  • Websocket API: wss://를 사용.

데이터 전송 효율성

  • REST API: 요청마다 새로운 연결을 설정해야 하므로 부하가 발생 가능.
  • Websocket API: 지속적인 연결을 통해 더 낮은 부하 상태로 데이터 전송 가능.