웹 통신(HTTP)과 온라인 통신(실시간)의 기본 원리와 연결 모델 비교, 

연결·세션·채널의 의미 정리

WebSocket·SSE·Long Polling 등 방식별 특징과 데이터 포맷(JSON·Binary·Protobuf) 사용 가이드

연결 유지에 따른 비용·스케일·보안 이슈 및 설계 시 고려사항 요약


목차

  1. 웹 통신과 온라인 통신의 비교
    1. 웹 콩신과 온라인 통신의 차이
  2. 온라인 통신
    1. 정의
    2. 특징
    3. 기본원리
    4. 온라인 통신에서의 "연결"
    5. 주고 받는 데이터 형태
    6. 온라인 통신에서의 메시지
    7. 온라인 통신의 단점과 비용

웹 통신(HTTP 기반)과 온라인 통신(실시간 통신)의 비교

  

구분 웹 통신 (HTTP 기반) 온라인 통신 (실시간 통신)
통신 방식 요청(Request) → 응답(Response) 양방향(Bidirectional) 지속 연결
연결 상태 요청마다 연결 생성/종료 한 번 연결 후 지속 유지
데이터 흐름 클라이언트 주도 서버·클라이언트 모두 가능
실시간성 낮음 높음
지연 시간 상대적으로 큼 매우 낮음
주요 프로토콜 HTTP, HTTPS WebSocket, TCP, UDP
서버 부담 요청 빈도 증가 시 큼 연결 수 관리 부담
사용 예시 게시판, 로그인, 조회 API 채팅, 게임, 주식 시세, 알림

웹 통신(오프라인 통신) 과 온라인 통신의 차이

항목  설명
웹 통신 "필요할 때 요청하고 응답을 받는 구조"
온라인 통신 "항상 연결된 상태에서 즉시 주고받는 구조"
항목  오프라인 통신(HTTP) 온라인 통신
연결 요청마다 생성/종료 연결 유지
주도권 클라이언트 서버·클라이언트
데이터 흐름 단방향 요청 양방향 또는 서버 주도
실시간성 낮음 높음
대표 기술 REST API WebSocket, SSE, TCP
  • 웹 통신 - 정적인 정보 요청에 적합
  • 온라인 통신 - 즉각적인 상태 변화 공유에 적합

온라인 통신

  • “연결을 유지하면서 상태와 이벤트를 실시간으로 공유하는 통신”

정의

  • 연결을 유지한 상태에서 데이터를 지속적으로 주고 받는 통신
  • “항상 연결됨(Connected)”
  • 오프라인/요청형 통신(HTTP 요청-응답)과 대조적

특징

  • 연결 유지 - 한 번 연결되면 끊기 전까지 유지
  • 실시간성 - 데이터 지연이 매우 낮음
  • 상태 기반 - 연결 자체가 상태(state)를 가짐
  • 이벤트 중심 - 데이터 변경이 즉시 전달됨
요소  의미
연결 끊기지 않고 유지되는 통로
상태 연결에 귀속된 정보
이벤트 상태 변화 알림
스트림 이벤트의 연속

기본 원리

  • 계속 유지되는 일련의 과정
    1. 연결 요청 (Handshake)
    2. 연결 수립 (Session 생성)
    3. 데이터 송 · 수신 반복
    4. 연결 종료 (Close)

온라인 통신에서의 “연결”

  • 연결 자체가 리소스
  • 연결 (Connection) : 서로가 살아있음을 인지하는 논리적 통로
  • 세션 (Session) : 연결에 부여된 상태 정보
  • 채널 (Channel) : 실제 데이터가 흐르는 경로

온라인 통신 방식 (웹 기준)

방식  설명  방향
WebSocket 전용 프로토콜 양방향
SSE HTTP 스트림 서버 → 클라이언트
Long Polling 요청 유지 서버 → 클라이언트
TCP Socket 저수준 양방향

주고 받는 데이터 형태

논리적 데이터 형태

형태  설명 예시
이벤트 상태 변화 알림 체결 발생
스트림 연속 데이터 가격 흐름
명령 요청/제어 구독/해제
상태 현재 값 잔고, 포지션

물리적 데이터 포맷

포맷  특징 사용 사례
JSON 가독성 좋음 채팅, 알림
Binary 빠름/압축 금융, 게임
Protobuf 구조화/고속 대규모 실시간
Text Stream 단순 SSE
  • 실시간, 대량 일수록 Binary 비중이 높아짐

온라인 통신에서의 메시지

  • 구성
    • Header : 타입, 길이, 메타정보
    • Body : 실제 데이터
    • Qpcode : 메시지 종류 (text/binary/ping)
  • 예시 (개념)
  • { type: "trade", symbol: "AAPL", price: 182.3, volume: 100 }

온라인 통신의 단점과 비용

  • 서버 부하 : 연결 수만큼 리소스 사용
  • 복잡성 : 상태/에러 처리 필요
  • 보안 : 장시간 연결 관리
  • 스케일링 : 수평 확장 어려움

+ Recent posts