HTTPUpgrade

как WebSocket, но без фрейминга · Xray 2023

Что это

HTTPUpgrade — транспорт для Xray, добавленный в конце 2023 года. Как WebSocket, но без WS-фрейминга — после HTTP Upgrade идёт сырой TCP-поток. Проще, чуть быстрее, легче.

Как отличается от WebSocket

Оба используют механизм HTTP Upgrade — клиент шлёт Connection: Upgrade, Upgrade: websocket (или любой другой), сервер отвечает 101 Switching Protocols, и дальше идёт другой протокол.

WebSocketHTTPUpgrade
Upgrade к чемуwebsocketлюбое имя (обычно websocket для маскировки)
Фрейминг после upgradeWS-frames (opcode, mask, length, payload)сырой TCP-поток
Overhead на кадр2-14 байт0
Sec-WebSocket-Key/Acceptобязателенопционально
Client maskingобязателеннет
Год20112023

Зачем это нужно

WS-фрейминг был спроектирован под браузеры, где важна безопасность (masking предотвращает cache poisoning атаки). Но в прокси-контексте:

HTTPUpgrade убирает эти издержки, оставляя только сам handshake.

Конфиг в Xray

"streamSettings": {
  "network": "httpupgrade",
  "security": "tls",
  "tlsSettings": {
    "serverName": "your.domain.com"
  },
  "httpupgradeSettings": {
    "path": "/live",
    "host": "your.domain.com"
  }
}

Работа через CDN

HTTPUpgrade работает через Cloudflare, Fastly, любой HTTP-CDN. Так же как WebSocket. CDN не различает — там или там upgrade.

Ситуация в 2026

HTTPUpgrade — компромисс между WS (проверенный) и xHTTP (новый гибкий). Если ты хочешь просто минимальный overhead и работу через CDN — HTTPUpgrade достаточен. Если нужны навороты (HTTP/2 multiplexing, HTTP/3, packet-up mode) — xHTTP.

См. также

← на главную
← на главную