API가 시스템 간에 실제로 이동하는 방법

발행: (2025년 12월 27일 오후 09:37 GMT+9)
8 min read
원문: Dev.to

Source: Dev.to

번역할 텍스트를 제공해 주시면 한국어로 번역해 드리겠습니다.

소개

지금까지 우리는 시스템이 통신하는 방법으로서 API에 대해 이야기했습니다.

하지만 여기 중요한 설명이 있습니다.

API는 시스템이 서로에게 말하는 내용을 정의합니다. 네트워크 프로토콜은 그 메시지가 어떻게 전달되는지를 정의합니다.

네트워크를 통해 메시지가 이동하는 가장 일반적인 방법 몇 가지를 논의해 보겠습니다.

API를 언어라고 생각하세요. 프로토콜을 도로, 차량, 그리고 교통 규칙이라고 생각하세요.

HTTP – 기본 대화

HTTP는 애플리케이션이 인터넷을 통해 통신하는 가장 일반적인 방법입니다. 웹사이트를 열거나 앱이 데이터를 로드할 때 보통 HTTP를 사용합니다.

동작 방식

  • 한 쪽이 메시지를 보냅니다
  • 다른 쪽이 응답합니다
  • 대화가 종료됩니다

편지를 보내고 답장을 기다리는 것과 같습니다. 이는 다음에 적합합니다:

  • 페이지 로드
  • 데이터 가져오기
  • 간단한 요청‑응답 통신

HTTPS – 잠금이 있는 HTTP

HTTPS는 HTTP와 동일하지만 보안이 추가되었습니다. 같은 편지를 보내되 잠긴 봉투 안에 넣는 것과 같습니다. 발신자와 수신자만 내용을 읽을 수 있습니다.

그렇기 때문에 HTTPS는 다음과 같은 경우에 사용됩니다:

  • 로그인 시스템
  • 결제
  • 모든 민감한 데이터

API 관점에서는 동작이 변하지 않습니다. 오직 프라이버시와 안전성만 향상됩니다.

WebSocket – 호출을 열어두기

WebSocket은 다릅니다. 메시지를 보내고 연결을 끊는 대신, 라인을 열어둡니다.

전화 통화와 같습니다:

  • 양쪽 모두 연결된 상태를 유지합니다
  • 언제든지 말을 할 수 있습니다

이는 메시지가 양방향으로 흐르고 업데이트가 즉시 이루어져야 할 때 사용됩니다.

예시

  • 실시간 채팅
  • 실시간 알림
  • 실시간 대시보드

WebSocket을 사용하는 API는 “다시 묻지” 않습니다. 지속적으로 청취합니다.

TCP – 느리지만 신뢰할 수 있는 전달

TCP는 신뢰성에 관한 것이다. 깨지기 쉬운 물건을 다음과 같은 택배 서비스를 통해 보내는 것을 상상해 보라:

  • 배달 확인
  • 손실 시 재전송
  • 순서 유지

그것이 TCP이다. 대부분의 API는 아래와 같은 이유로 TCP 위에서 동작한다:

  • 메시지가 정확히 도착한다
  • 아무것도 조용히 손실되지 않는다

일부 옵션보다 느리지만 신뢰할 수 있다.

UDP – 빠르지만 보장은 없음

UDP는 반대 접근 방식입니다. 도착 여부를 확인하지 않고 메시지를 빠르게 전송합니다.

방 안에서 정보를 외치는 것을 상상해 보세요: 일부 사람은 놓칠 수 있지만 빠릅니다.

완벽함보다 속도가 더 중요한 경우에 사용

  • 영상 통화
  • 실시간 스트리밍
  • 온라인 게임

API는 UDP를 직접 사용하는 경우는 드물지만, 실시간 데이터 기반 시스템에서는 종종 사용됩니다.

HTTP/3 (QUIC) – 현대적이고 빠른 경로

HTTP/3는 UDP 위에서 동작하는 최신 HTTP 버전입니다.

핵심 아이디어

  • 지연 시간 감소
  • 네트워크 문제에서 더 빠른 복구

다음에 유용합니다:

  • 모바일 앱
  • IoT 디바이스
  • 실시간 경험

API 관점에서는 대부분 백그라운드에서 이루어집니다.

SMTP 및 FTP – 특수 목적 메신저

특정 작업을 위해 존재하는 프로토콜이 있습니다.

  • SMTP – 이메일을 위해 설계되었습니다.
  • FTP – 파일 전송을 위해 설계되었습니다.

이들은 일반적인 API 통신 도구는 아니지만, 시스템 간 구조화된 통신을 나타내며 API와 마찬가지로 엄격한 규칙을 따릅니다.

결론

APIs는 시스템 간에 마법처럼 떠다니는 것이 아닙니다. 다음과 같은 프로토콜을 사용하여 이동합니다:

  • HTTP / HTTPS
  • WebSocket
  • TCP / UDP
  • HTTP/3 (QUIC)
  • SMTP / FTP

문서는 다음을 알려줍니다:

  • 사용되는 프로토콜은 무엇인지
  • 기대되는 동작은 무엇인지
  • 통신이 즉시인지 지연되는지
  • 일회성인지 지속적인지

이러한 명확성이 없으면 팀은 추측하게 되고, 추측은 취약한 시스템을 초래합니다.

문서화가 중요한 이유

좋은 API 문서는 다음과 같은 질문에 답합니다:

  • 요청을 해야 하나요, 아니면 수신해야 하나요?
  • 실시간인가요, 아니면 지연된 것인가요?
  • 보안이 되나요?
  • 즉시 응답을 받게 되나요?

문서가 없으면 개발자는 각 버튼이 무엇을 하는지 모른 채 TV 리모컨을 무작위로 누르는 것과 같습니다.

좋은 문서는 단순히 API를 설명하는 것이 아니라, 안전하고 올바르게 통신하는 방법을 설명합니다.

Back to Blog

관련 글

더 보기 »

🍽️ API를 5살 아이에게 설명하듯

레스토랑 비유 당신이 레스토랑에 있다고 상상해 보세요. 당신은 직접 Kitchen에 들어가서 음식을 요리하지 않습니다. 당신 → Waiter → Kitchen - 당신은 Waiter에게 무엇을…

요청-응답 모델 이해하기

!‘Understanding the Request–Response Model’의 표지 이미지 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2...