정의: 실시간 양방향 통신을 통해 애플리케이션과 서버 간의 지속적인 연결을 지원하는 통신 프로토콜
ex) 실시간 웹 게임, 채팅 애플리케이션, 금융 거래 모니터링 시스템
일반적인 HTTP 통신은 요청을 할 때마다 서버와의 새로운 연결을 요구하는 반면,
WebSocket은 한 번의 연결 설정 후 지속적으로 데이터를 교환할 수 있어 네트워크 부하와 지연 시간 감소 |
| ws와 wss의 차이점 | ws : 보안이 적용되지 않은 기본 WebSocket 프로토콜. ws는 네트워크가 안전하고, 보안 위험이 없는 환경에서 사용한다.
wws : TLS/SSL 암호화를 적용한 보안 WebSocket 프로토콜. wss는 공용 네트워크에서 WebSocket을 사용할 때 (Wi-Fi, 인터넷 등) 이용된다. |
| 메시지 프레임과 경계 | - WebSocket은 데이터를 프레임(Frame) 단위로 전송하며, 클라이언트와 서버가 메시지를 보낼 때 메시지의 경계를 유지할 수 있다. 즉, WebSocket은 스트리밍 방식이 아니라, 메시지 단위로 데이터를 처리한다.
WebSocket은 메시지를 보낼 때 하나 이상의 프레임(Frame)으로 나누어 전송한다. 여기서 WebSocket이 전송하는 메시지가 어디서 시작하고 끝나는지 명확하게 구분되는 것을 의미하는 것이 메시지 경계이다. 메시지 경계를 통해 WebSocket은 하나의 메시지가 여러 개의 프레임으로 나뉘어도, 메시지의 경계를 보장한다. |
| Close 프레임의 역할 | 정의: 클라이언트 또는 서버가 연결을 종료할 때 상대방에게 보내는 프레임.
Close 프레임은 WebSocket 연결의 정상적인 종료, 종료 이유, 비정상적인 종료를 알릴 수 있다. |