- Published on
WebSocket 시리즈 용어집
- Authors

- Name
- Nostrss
- Github
- Github

WebSocket 프로토콜 시리즈의 용어집. 모든 레슨은 이 용어집의 표기를 따른다. 새 용어는 등장한 레슨에서 추가된다.
핸드셰이크
열림 핸드셰이크 (opening handshake)
WebSocket 연결을 시작하는 HTTP/1.1 형식의 요청/응답 교환. 성공하면 연결이 WebSocket 프로토콜로 전환된다. — RFC 6455 §4
Upgrade
HTTP/1.1의 프로토콜 전환 메커니즘. Upgrade: websocket + Connection: Upgrade 헤더 쌍으로 요청한다. — §4.1
101 Switching Protocols
서버가 프로토콜 전환을 수락했음을 알리는 상태 코드. 이 응답 이후 해당 TCP 연결에는 WebSocket 프레임만 흐른다. — §4.2
Sec-WebSocket-Key
클라이언트가 연결마다 새로 만드는 무작위 16바이트의 base64 값. 인증이 아니라 상대 서버의 WebSocket 이해 여부를 검증하기 위한 것. — §1.3
Sec-WebSocket-Accept
base64(SHA1(Key + 고정 GUID)) 로 계산되는 서버의 증명값. 틀리면 클라이언트는 연결을 실패 처리한다. — §1.3
부트스트랩 (bootstrapping)
기존 프로토콜을 발판 삼아 새 프로토콜 연결을 시동하는 절차. WebSocket은 맨땅이 아니라 HTTP 대화 위에서 시작한다: HTTP/1.1에서는 Upgrade 핸드셰이크, HTTP/2·3에서는 Extended CONNECT가 그 발판이다. — RFC 8441
전송 계층
TLS (Transport Layer Security)
TCP 위에 끼워 넣는 암호화 층 (구명칭 SSL). 암호화·무결성·서버 신원 확인을 제공한다. TCP+TLS+HTTP = https, TCP+TLS+WebSocket = wss. https 페이지는 mixed content 차단 때문에 wss만 쓸 수 있다. — RFC 8446
ws 와 wss
WebSocket URI 스킴 (ws://, wss://). 기본 포트는 각각 80, 443. wss는 TLS 위에서 동작한다. — §3
표준화 기구와 문서
IETF
인터넷 프로토콜(TCP, DNS, TLS, HTTP, WebSocket 프로토콜 등)의 표준화 기구. 표준을 RFC라는 번호 붙은 고정 문서로 발행한다. 브라우저와 무관하게 "기계끼리의 바이트"를 정한다. — ietf.org
WHATWG
브라우저 벤더들이 주도하는 웹 플랫폼 표준화 기구. HTML, DOM, fetch, WebSocket API 등을 Living Standard(계속 갱신되는 문서)로 관리한다. 2019년 W3C로부터 HTML/DOM 권한을 이양받았다. — whatwg.org
RFC 6455
WebSocket 와이어 프로토콜의 규범 문서. IETF 표준, 2011년 발행. 현재 버전 번호는 13. — IETF
WHATWG WebSockets Standard
브라우저 WebSocket API(생성자, 이벤트, readyState)의 규범 문서. HTML Standard에서 분리된 리빙 스탠다드. — WHATWG
프레임
프레임 (frame)
WebSocket 데이터의 최소 전송 단위. 최소 2바이트 헤더(FIN, opcode, MASK, 길이) + 페이로드로 구성된 바이너리 구조. — §5.2
opcode
프레임 헤더의 4비트 필드로, 페이로드 해석 방법을 지정. 데이터: 0x0 Continuation, 0x1 Text(UTF-8), 0x2 Binary. 컨트롤: 0x8 Close, 0x9 Ping, 0xA Pong. — §5.2
FIN
프레임 헤더의 첫 비트. 1이면 메시지의 마지막 조각, 0이면 단편화된 조각이 더 이어진다. — §5.2
마스킹 (masking)
클라→서버 프레임의 페이로드를 무작위 4바이트 키와 XOR하는 것 (페이로드[i] XOR 키[i mod 4]). 암호화가 아니라 중간 프록시 캐시 오염 방지 장치. 클라→서버 필수, 서버→클라 금지. — §5.3, §10.3
컨트롤 프레임 (control frame)
opcode 0x8~0xF인 프레임 (Close, Ping, Pong). 페이로드 125바이트 이하, 단편화 금지, 데이터 메시지의 조각 사이에 끼어들 수 있다. — §5.5
단편화 (fragmentation)
하나의 메시지를 여러 프레임(청크)으로 쪼개 보내는 것 — HTTP chunked 전송과 같은 발상. 첫 조각(FIN=0, 실제 opcode) → 중간(FIN=0, 0x0) → 마지막(FIN=1, 0x0). 브라우저 API에서는 보이지 않는다. — §5.4
기타 표기
0x 표기 (hexadecimal)
"뒤 숫자는 16진수"라는 접두어. 16진수 한 자리 = 정확히 4비트 (0x0=0000 ~ 0xF=1111), 1바이트 = 두 자리. opcode(4비트)가 0x1처럼 한 자리로 표기되는 이유. 예: 0x81 = 1000 0001.
시리즈 글: 레슨 1 — WebSocket은 HTTP인가? 열림 핸드셰이크 · 레슨 2 — 프레임 구조: opcode와 마스킹
