1. 웹소켓 기본 개념

웹소켓 핸드쉐이크란 서버와 클라이언트 간 웹소켓 연결을 시작하는 과정이다.

웹소켓은 클라이언트에서 헨드쉐이크 요청을 보내서 HTTP Upgrade를 하고 이에 대한 응답으로 헨드쉐이크 응답을 받는다 (응답 코드 : 101 )

웹소켓의 헨드쉐이크 요청

GET /spring-websocket-portfolio/portfolio HTTP/1.1
Host: localhost:8080
Upgrade: websocket 
Connection: Upgrade 
Sec-WebSocket-Key: Uc9l9TMkWGbHFD2qnFHltg==
Sec-WebSocket-Protocol: v10.stomp, v11.stomp
Sec-WebSocket-Version: 13
Origin: <http://localhost:8080>

웹소켓의 헨드쉐이크 응답

HTTP/1.1 101 Switching Protocols 
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: 1qVdfYHU9hPOl4JYYNXF623Gzn0=
Sec-WebSocket-Protocol: v10.stomp

2. WebSocket과 HTTP의 차이

HTTP