⚠️ Maintenance. Notice: the site is currently in maintenance mode, so the amount of available material is temporarily limited.
A–Z

Glossary

The vocabulary of real-time JavaScript and the WebSocket protocol, in plain language. Terms link out to the guide that covers them in depth.

Глоссарий

Словарь real-time JavaScript и протокола WebSocket простым языком. Термины ведут к руководству, где тема разобрана подробно.

TermDefinition
ArrayBufferA fixed-length raw binary buffer. Set binaryType = "arraybuffer" to receive binary frames as one. See binary data.
BackoffIncreasing the wait between retries (often exponentially) to avoid hammering a server. See reconnection.
BackpressureThe signal that a consumer can't keep up with a producer. Monitor bufferedAmount and slow down when it grows.
BackplaneA shared pub/sub channel (e.g. Redis) that relays messages between server nodes. See scaling.
bufferedAmountBytes queued by send() but not yet written to the network — your backpressure gauge.
Close codeA numeric reason sent when a connection closes (e.g. 1000 normal, 1012 restart). See the reference.
Context takeoverKeeping the DEFLATE dictionary between messages for better compression at a memory cost. See compression.
DEFLATEThe compression algorithm behind gzip and permessage-deflate.
Duplex (full)Both peers can send at the same time — the defining property of WebSocket vs request/response HTTP.
EventSourceThe browser API for Server-Sent Events; one-way and auto-reconnecting.
FrameThe protocol's unit of data. A message is one or more frames; control frames carry ping/pong/close.
HandshakeThe HTTP Upgrade exchange that turns a request into a WebSocket. See basics.
HeartbeatPeriodic ping/pong (or app-level) traffic that detects dead sockets and keeps proxies alive. See heartbeats.
Long pollingA fallback where the client holds an HTTP request open until data is ready, then re-requests.
MaskingClient-to-server frames are XOR-masked with a random key, a protocol requirement that mitigates proxy cache poisoning.
OpcodeA 4-bit code identifying a frame's type (text, binary, ping…). See the reference.
permessage-deflateThe standard extension (RFC 7692) that compresses each message. See compression.
Ping / PongControl frames (0x9/0xA) used for keep-alive; browsers auto-reply to pings.
readyStateA socket's lifecycle: 0 connecting, 1 open, 2 closing, 3 closed.
RFC 6455The specification that defines the WebSocket protocol.
Sticky sessionLoad-balancer affinity pinning a client to the node that holds its connection. See scaling.
SubprotocolAn application protocol negotiated via Sec-WebSocket-Protocol during the handshake.
TicketA short-lived, single-use token passed at connect time to authenticate. See authentication.
UpgradeThe HTTP header/mechanism that switches a connection's protocol to WebSocket.
wss://WebSocket over TLS — the secure scheme you should always use in production.
ТерминОпределение
ArrayBufferБинарный буфер фиксированной длины. Задайте binaryType = "arraybuffer", чтобы получать бинарные кадры в таком виде. См. бинарные данные.
BackoffУвеличение паузы между повторами (часто экспоненциально), чтобы не «бомбить» сервер. См. переподключение.
BackpressureСигнал, что потребитель не успевает за производителем. Следите за bufferedAmount и замедляйтесь при росте.
Backplane (шина)Общий pub/sub-канал (напр. Redis), переносящий сообщения между узлами. См. масштабирование.
bufferedAmountБайты, поставленные send() в очередь, но ещё не отправленные — индикатор backpressure.
Код закрытияЧисловая причина закрытия соединения (напр. 1000 норм., 1012 рестарт). См. справочник.
Context takeoverСохранение словаря DEFLATE между сообщениями ради сжатия ценой памяти. См. сжатие.
DEFLATEАлгоритм сжатия, лежащий в основе gzip и permessage-deflate.
Дуплекс (полный)Обе стороны могут слать одновременно — определяющее свойство WebSocket против HTTP «запрос/ответ».
EventSourceБраузерный API для Server-Sent Events; односторонний и авто-переподключающийся.
Кадр (frame)Единица данных протокола. Сообщение — один или несколько кадров; управляющие кадры несут ping/pong/close.
РукопожатиеОбмен HTTP Upgrade, превращающий запрос в WebSocket. См. основы.
HeartbeatПериодический ping/pong (или на уровне приложения) для обнаружения мёртвых сокетов и удержания прокси. См. heartbeat.
Long pollingФолбэк, где клиент держит HTTP-запрос открытым до появления данных, затем запрашивает снова.
Masking (маскирование)Кадры клиент→сервер XOR-маскируются случайным ключом — требование протокола против отравления кэша прокси.
Опкод4-битный код типа кадра (текст, бинарный, ping…). См. справочник.
permessage-deflateСтандартное расширение (RFC 7692), сжимающее каждое сообщение. См. сжатие.
Ping / PongУправляющие кадры (0x9/0xA) для keep-alive; браузеры авто-отвечают на ping.
readyStateЖизненный цикл сокета: 0 connecting, 1 open, 2 closing, 3 closed.
RFC 6455Спецификация, определяющая протокол WebSocket.
Sticky-сессияПривязка балансировщика, закрепляющая клиента за узлом с его соединением. См. масштабирование.
СубпротоколПрикладной протокол, согласуемый через Sec-WebSocket-Protocol при рукопожатии.
ТикетКороткоживущий одноразовый токен, передаваемый при подключении для аутентификации. См. аутентификацию.
UpgradeHTTP-заголовок/механизм, переключающий протокол соединения на WebSocket.
wss://WebSocket поверх TLS — безопасная схема, которую всегда стоит использовать в продакшене.