발전을 위한 기록

[SQA] API 구조별 4가지 유형과 차이점 한눈에 보기 | SOPA, RPC, WebSocket, REST 본문

SQA

[SQA] API 구조별 4가지 유형과 차이점 한눈에 보기 | SOPA, RPC, WebSocket, REST

릴릴2 2025. 6. 6. 15:16
728x90

📌 API란?

Application Programming Interface
응용 프로그램이 서로 데이터를 주고받을 때 사용하는 인터페이스입니다.
예) 모바일 앱 ↔ 서버 / 웹 서비스 ↔ 데이터베이스 등


✅ 대표적인 API 종류 4가지


1️⃣ SOAP API (Simple Object Access Protocol)

🔍 특징

  • XML 기반으로 데이터를 주고받는 프로토콜
  • 엄격한 표준화된 메시지 포맷 사용
  • HTTP, SMTP 등 다양한 프로토콜 위에서 동작
  • 보안, 트랜잭션 처리 등 Enterprise급 기능 지원

💡 장점

  • 높은 안정성, 보안성
  • 표준 기반으로 다양한 플랫폼 간 호환성 높음

⚠️ 단점

  • XML 기반이라 메시지 구조가 무겁고 복잡
  • 속도는 REST보다 느린 경우 많음

✅ 예시 활용

  • 금융 서비스 API
  • 정부기관/대기업 시스템 간 연동

2️⃣ RPC API (Remote Procedure Call)

🔍 특징

  • 원격 프로시저 호출 방식
  • 마치 로컬 함수를 호출하듯, 원격 서버의 함수를 호출
  • 요청(request)은 함수명 + 파라미터, 응답(response)은 결과 값
  • SOAP-RPC / JSON-RPC / gRPC 등 구현 방식 다양

💡 장점

  • 단순하고 빠름 (경량화된 구조)
  • 특정 서비스/마이크로서비스 간 통신에 적합

⚠️ 단점

  • 느슨한 표준 → API 설계 일관성 부족 가능성
  • 버전 관리나 공개 API보다는 내부 시스템 용도로 주로 사용

✅ 예시 활용

  • gRPC 기반 마이크로서비스 간 통신
  • 내부 시스템, 서버-서버 간 데이터 처리

3️⃣ WebSocket API

🔍 특징

  • 양방향 통신(Full Duplex) 지원
  • 서버와 클라이언트가 항상 연결된 상태 유지 가능
  • 연결 지연 없음 → 실시간 데이터 전송에 최적화
  • HTTP Upgrade 요청으로 연결을 시작한 후, WebSocket 프로토콜 사용

💡 장점

  • 빠른 실시간 데이터 송수신 가능 (채팅, 게임 등)
  • 서버 Push 기능 사용 가능

⚠️ 단점

  • 상태 유지 필요 (연결 유지 비용 발생)
  • HTTP 기반이 아니므로 프록시/방화벽 등 제약 있을 수 있음

✅ 예시 활용

  • 실시간 채팅 서비스
  • 게임 서버 통신
  • 주식 시세 실시간 업데이트

4️⃣ REST API (Representational State Transfer)

🔍 특징

  • HTTP 기반의 가장 널리 사용되는 API 스타일
  • 데이터 전송에 JSON, XML, TEXT 등 유연하게 사용 가능 (최근엔 JSON 사용이 일반적)
  • HTTP 메서드 (GET, POST, PUT, DELETE 등) 활용

💡 장점

  • 가볍고 빠른 통신 가능
  • 구조가 단순하여 개발/유지보수 용이
  • 웹/모바일 서비스에서 거의 표준처럼 사용

⚠️ 단점

  • REST 자체는 명확한 프로토콜이 아닌 스타일 가이드 수준
  • 복잡한 트랜잭션 처리에는 SOAP보다 부족할 수 있음

✅ 예시 활용

  • 대부분의 웹/모바일 서비스 API (네이버, 카카오, 구글 등)
  • 공공 API
  • 오픈 API 플랫폼

이번 글에서는 API 구조별 4가지 유형(SOAP, RPC, WebSocket, REST)에 대해 한눈에 정리해보았습니다.
실무에서 API를 설계하거나 테스트할 때 이번 내용을 참고하면 많은 도움이 될 것입니다! 🚀

728x90