[Network] REST API vs SOAP vs WebSocket vs gRPC

2025. 3. 16. 10:58·Web | Network
728x90

REST API

  • REST API (Representational State Transfer)
    • HTTP 기반의 대표적인 웹 API 방식
    • JSON 또는 XML 포맷 사용
    • 무상태성(Stateless) → 요청 간 서버 상태 유지 없음
GET /users/123 HTTP/1.1
Host: api.example.com

 

SOAP 

  • SOAP (Simple Object Access Protocol)
    • XML 기반의 API 프로토콜
    • 보안과 신뢰성이 중요한 환경에서 사용 (금융, 보험, 정부 시스템 API)
<SOAP-ENV:Envelope>
  <SOAP-ENV:Body>
    <GetUser>
      <UserId>123</UserId>
    </GetUser>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

WebSocket

  • WebSocket
    • 실시간 양방향 통신을 지원하는 프로토콜
    • HTTP 연결을 유지하며, 데이터를 지속적으로 주고받을 수 있음 (채팅 애플리케이션, 온라인 게임, 실시간 주식 데이터)
var socket = new WebSocket("wss://example.com/socket");
socket.send("Hello, Server!");
socket.onmessage = function(event) {
  console.log("Received: " + event.data);
};

 

gRPC 

  • gRPC (Google Remote Procedure Call)
    • Protocol Buffers(ProtoBuf)를 사용한 고성능 API 통신
    • HTTP/2 기반으로 성능이 뛰어나며, 바이너리 데이터 전송 가능
    • 마이크로서비스(MSA) 환경, IoT, 머신러닝 API
service UserService {
  rpc GetUser (UserRequest) returns (UserResponse);
}

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'Web | Network' 카테고리의 다른 글

[Network] 서버와 가상화  (1) 2025.03.18
[Network] CDN (Content Delivery Network) 과 캐싱  (0) 2025.03.17
[Spring] Cookie 와 ResponseCookie  (0) 2025.03.15
[Web] HTTP - Content-Type  (0) 2025.03.15
[Network] HTTP 와 HTTPS  (0) 2025.03.14
'Web | Network' 카테고리의 다른 글
  • [Network] 서버와 가상화
  • [Network] CDN (Content Delivery Network) 과 캐싱
  • [Spring] Cookie 와 ResponseCookie
  • [Web] HTTP - Content-Type
cyyy
cyyy
    250x250
  • cyyy
    Dev Log
    cyyy
  • 전체
    오늘
    어제
    • 분류 전체보기 (71)
      • Web | Network (14)
      • JavaScript (17)
      • Node.js (13)
      • Java | Spring (17)
        • GitHub Clone Project (6)
      • DB (4)
      • Linux (4)
      • AWS (2)
      • IDE (0)
  • 최근 글

  • 인기 글

  • 태그

    JavaScript
    promise
    자바스크립트
    github clone
    프로토콜
    Linux
    node.js
    Java
    스프링
    Spring
    bcrypt
    네트워크
    비동기
    spring boot
    Network
    db
    프로토타입
    prototype
    노드
    Database
  • 링크

    • Notion Log
  • hELLO· Designed By정상우.v4.10.3
cyyy
[Network] REST API vs SOAP vs WebSocket vs gRPC
상단으로

티스토리툴바