🕸️ Network

WebSocket

정의

기존의 단방향 HTTP 프로토콜과 호환되어 양방향 통신을 제공하기 위해 개발된 프로토콜

목적 및 특징

  • 일반 Socket통신과 달리 HTTP 80 Port를 사용하므로 방화벽에 제약이 없음
  • 접속까지는 HTTP 프로토콜을 이용하고, 그 이후 통신은 자체적인 WebSocket 프로토콜로 통신
  • 전이중 통신
  • 실시간성
  • 연결 지향
  • 연결 유지

장점

  • 한번 연결되면 오버헤드가 적다.

비교군과의 차이

HTTP VS WebSocket

HTTP

  • 비연결성
  • 매번 연결을 맺고 끊음
  • 요청-응답 구조

WebSocket

  • 연결 지향
  • 한번 연결 맺고 유지
  • 양방향 통신
  • 한번 연결되면 오버헤드가 적다.

동작

notion image
HTTP로 Handshake 초기 통신 시작 후, 웹소켓 프로토콜로 업그레이드하여 데이터를 전송

ws와 wss 차이점

보안을 위해 HTTP 통신이 아닌 HTTPS을 해야 한다. 웹소켓 통신시, ws가 아닌 wss로 통신해야 보안 통신 가능

면접 질문

출처