WebSocket 이란
브라우저-서버 양방향 연결
WebSocket은 클라이언트와 서버 간에 실시간 영구 양방향 연결을 제공하는 통신 프로토콜입니다.
작동 방식
- 핸드셰이크 — 초기 HTTP 핸드셰이크
- 업그레이드 — WebSocket 프로토콜로 전환
- 전이중 — 양방향 동시 전송
- 영구 연결 — 반복 연결 불필요
HTTP 대비 장점
- 즉시 메시지 전달
- 최소 오버헤드
- 폴링 불필요
- 낮은 지연 시간
활용 분야
- 채팅 및 메신저
- 온라인 게임
- 주식 시세
- 협업 편집
- IoT 장치
기술
- Socket.IO (Node.js)
- ws (Node.js 네이티브)
- SignalR (.NET)
- Django Channels
예시
const ws = new WebSocket('wss://api.example.com');
ws.onmessage = (event) => {
console.log(event.data);
};
ws.send('Hello Server!');