웹 소켓이란?

웹 소켓(Web Socket)은 서버와 클라이언트 간 양방향 통신을 가능하게 하는 프로토콜. HTTP 프로토콜과 달리, 클라이언트와 서버가 연결된 상태에서 지속적으로 데이터를 주고받을 수 있어 실시간성이 요구되는 애플리케이션 개발에 적합.

웹 소켓은 TCP 연결을 사용하며, 일반적으로 80번 포트(HTTP)나 443번 포트(HTTPS)를 . 이를 통해 방화벽의 제한을 우회할 필요 없이 빠르고 안정적인 양방향 통신.

따라서, 웹 소켓을 이용하여 실시간 채팅, 게임, 주식 거래 등 다양한 분야에서 활용할 수 있습니다.

GET /spring-websocket-portfolio/portfolio HTTP/1.1
Host: localhost:8080
Upgrade: websocket             ---- 1
Connection: Upgrade            ---- 2
Sec-WebSocket-Key: Uc9l9TMkWGbHFD2qnFHltg==
Sec-WebSocket-Protocol: v10.stomp, v11.stomp
Sec-WebSocket-Version: 13
Origin: <http://localhost:8080>
  1. upgrage 헤더
  2. upgrade connection 사용
HTTP/1.1 101 Switching Protocols     ---- 1
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: 1qVdfYHU9hPOl4JYYNXF623Gzn0=
Sec-WebSocket-Protocol: v10.stomp

SocketJS

STMOP