본문으로 건너뛰기
Previous
Next
WebSocket 뜻과 의미 | 기술 용어 사전 | pkglog
네트워크

WebSocket

다른 이름: 웹소켓

정의

HTTP 핸드셰이크 후 TCP 연결 유지, 양방향 실시간 통신 프로토콜. ws:// 또는 wss:// (암호화). 폴링 대비 낮은 지연, 적은 오버헤드. 채팅, 실시간 알림, 게임, 주식 시세. Socket.IO는 WebSocket + 폴백 라이브러리

상세 설명

📋 기술 스펙

  • Handshake: HTTP Upgrade 요청 → 101 Switching Protocols
  • 프로토콜: ws:// (80), wss:// (443, TLS 암호화)
  • Frame: 메시지 단위 (텍스트/바이너리)
  • Ping/Pong: 연결 유지 확인
  • Close: 1000 (정상), 1001 (Going Away), 1002 (Protocol Error)
  • 메시지: Text (UTF-8) 또는 Binary

💡 실무 활용

  • 채팅: Slack, Discord, WhatsApp Web
  • 실시간 알림: 소셜 미디어, 이메일
  • 게임: 멀티플레이어 동기화
  • 주식 시세: 실시간 가격 업데이트
  • 협업 도구: Google Docs 동시 편집

장점

  • 낮은 지연: 폴링 대비 즉각 응답
  • 적은 오버헤드: 헤더 재전송 없음
  • 양방향: 서버→클라이언트 푸시 가능
  • 실시간: 연결 유지로 즉시 전송

⚠️ 단점 및 제약

  • 연결 유지: 서버 리소스 소비 (메모리, 파일 디스크립터)
  • Proxy/방화벽: 일부 차단 (80/443 포트 필요)
  • HTTP 캐싱 불가: CDN 활용 어려움
  • 복잡한 상태 관리: 재연결, 타임아웃 처리

🔧 호환성

모든 모던 브라우저, Node.js, Python, Java, C++ 라이브러리

📚 표준 정보

표준화 기구: IETF RFC 6455

출시 연도: 2011년