RESTful API, WebSocket API - 각각의 특징과 차이점

 

RESTful API

  • Representational State Transfer의 약자
  • HTTP 프로토콜을 기반으로 데이터를 주고받는 API
  • 주로 클라이언트-서버 간의 통신을 위해 사용
  • Stateless한 특징을 가지며 서버에서 각 요청 독립적 처리
  • HTTP Method(GET, POST, PUT, DELETE)를 사용하여 데이터 요청 및 반환
  • 클라이언트가 서버에 요청된 결과는 JSON, XML 등의 형태로 반환

WebSocket API

  • HTTP 프로토콜 기반으로 연결 설정, WebSocket 프로토콜을 사용하여 데이터를 주고 받는 API
  • 실시간 양방향 통신을 위해 사용
  • 서버에서 클라이언트로 push 메시지 전송이 가능하여 높은 실시간성 제공
  • 클라이언트와 서버 간 지속적인 연결 유지
  • 연결이 유지되는 동안 서버와 클라이언트 간 상태 정보 계속 유지

RESTful API vs WebSocket API

  RESTful API WebSocket API
사용되는
프로토콜
HTTP 프로토콜 기반 HTTP 프로토콜로 연결 설정,
WebSocket 프로토콜로 통신
통신 방식 요청과 결과 반환 양방향 통신
요청 처리 클라이언트에서 요청,
서버에서 요청 처리
실시간으로 데이터 교환
연결 방식 클라이언트에서 요청시 연결 클라이언트와 서버간 지속적인 연결
유지성 요청에 대한 응답이 이루어지면 연결 종료 지속적인 연결 상태 유지