← 홈
네트워크

WebSocket

HTTP 업그레이드로 시작해 양방향 풀-듀플렉스 통신을 지원하는 프로토콜.

클라이언트HTTP
(HTTP 연결만 수립)
서버HTTP

WebSocket은 HTTP 위에서 시작합니다. 같은 포트(80/443)로 HTTP처럼 연결을 맺은 뒤 프로토콜을 업그레이드합니다.

핵심 개념

HTTP Upgrade

초기 연결은 HTTP로 시작, `Upgrade: websocket` 헤더로 프로토콜 전환. 같은 포트(80/443) 사용.

양방향 풀-듀플렉스

서버도 클라이언트에 능동적으로 메시지를 보낼 수 있음. 폴링 불필요.

프레임 기반

HTTP 같은 요청/응답이 아닌, 작은 프레임(바이너리/텍스트)을 양쪽이 자유롭게 전송.

사용 사례

채팅, 실시간 알림, 협업 문서, 게임, 주식 시세 — 서버 push가 필요한 모든 경우.

면접 단골 질문

  1. Q1.WebSocket과 HTTP의 차이를 설명해보세요.
  2. Q2.Long Polling, SSE, WebSocket 중 어떤 상황에 어느 것을 쓰나요?
  3. Q3.WebSocket 연결이 끊겼을 때 어떻게 재연결/복구 처리하나요?
  4. Q4.WebSocket 인증은 보통 어떻게 처리하나요? HTTP 쿠키가 그대로 쓰이나요?
  5. Q5.WebSocket 서버를 수평 확장할 때 고려할 점은?