xHTTP
Что это
xHTTP — новейший транспорт от Project X (авторы Xray), представлен в конце 2024 года. Задуман как универсальная замена связкам WebSocket, gRPC и HTTPUpgrade. Один транспорт, поддерживающий сразу HTTP/1.1, HTTP/2 и HTTP/3.
Зачем ещё один транспорт
Ситуация к 2024 году: авторы прокси-ядер вынуждены поддерживать много транспортов (TCP raw, WS, gRPC, HTTPUpgrade, mKCP), каждый со своими плюсами и минусами. Пользователь выбирает под свою сеть. Идея xHTTP — один транспорт, автоматически подстраивающийся под условия.
Три режима
packet-up (одноразовые пакеты)
- Каждый пакет данных = один короткий HTTP POST запрос
- Идеален для CDN, которые не любят долгие соединения
- Сервер отвечает stream-response (данные идут обратно потоком)
stream-up (одноразовый долгий стрим)
- Классический paradigm: клиент открывает один POST со stream body, шлёт всё туда
- Похоже на WebSocket, но через POST
- Годится для проводных провайдеров
stream-one (один стрим для отправки и приёма)
- Полностью двунаправленный стрим (требует HTTP/2 или HTTP/3)
- Похоже на gRPC-подход
Работа поверх QUIC
xHTTP на HTTP/3 = xHTTP over QUIC over UDP. Это первый транспорт для Xray, работающий по UDP, помимо mKCP. Даёт скорость Hysteria2 с гибкостью xHTTP.
Конфиг
"streamSettings": {
"network": "xhttp",
"security": "tls",
"xhttpSettings": {
"host": "your.domain.com",
"path": "/api/v1/data",
"mode": "auto", // auto|packet-up|stream-up|stream-one
"extra": {
"headers": {
"User-Agent": "Mozilla/5.0 ..."
}
}
}
}
Работа с CDN
xHTTP заточен под CDN. Cloudflare/Fastly/Akamai обрабатывают xHTTP-трафик как обычный HTTP:
- packet-up режим — CDN думает что это API-запросы
- Заголовки Content-Type: application/octet-stream или подобные
- Можно указать реалистичный User-Agent
xHTTP vs альтернативы
| xHTTP | WS | gRPC | HTTPUpgrade | |
|---|---|---|---|---|
| HTTP/1.1 | да | да | нет | да |
| HTTP/2 | да | нет (обычно) | да | нет |
| HTTP/3 / QUIC | да | нет | частично | нет |
| CDN Cloudflare | да | да | ограниченно | да |
| Overhead | минимальный | малый | малый | минимальный |
| Год | 2024 | 2011 | 2015 | 2023 |
Ситуация в РФ 2026
После блокировки Chrome-fp в Reality в июне 2026 многие переходят с TCP+Reality на xHTTP over HTTP/2 + TLS + uTLS(firefox). Пока ТСПУ этот транспорт не научился отличать от обычного HTTP-трафика.