Frame Model

WebSocket 메시지는 프레임으로 나뉘어 흐른다

WebSocket은 텍스트·바이너리 메시지를 프레임 단위로 싣고, ping, pong, close 같은 제어 프레임으로 연결 상태를 관리한다.

메시지는 하나 이상의 프레임으로 분할될 수 있다
브라우저→서버 프레임은 마스킹이 필수다
마스킹은 암호화가 아니라 프로토콜 보호 장치다
Frame layout

핵심 필드가 프레임의 의미와 길이를 결정한다

FIN마지막 프레임 여부
Opcodetext, binary, close, ping, pong
Mask클라이언트 송신 시 필수
Lengthpayload 길이
Payload애플리케이션 데이터
Data

Text / Binary

텍스트는 UTF-8 메시지, 바이너리는 ArrayBuffer나 Blob 같은 데이터를 담는다.

Control

Ping / Pong / Close

상대가 살아있는지 확인하고, 종료 사유를 담아 연결을 정상적으로 닫는다.

Fragment

Continuation

큰 메시지를 여러 프레임으로 나눌 수 있고, 마지막 프레임에서 FIN이 켜진다.