Протоколы

Обновлено · Команда SomonVPN

XHTTP: туннель в форме коротких HTTP-запросов

XHTTP — транспорт экосистемы Xray, появившийся в 2024 году: он режет поток на короткие HTTP-запросы вместо одной длинной сессии. Короткие запросы легче переживают провалы связи и лучше держатся на слабом сигнале. В SomonVPN XHTTP включён и часто оказывается лучшим вариантом на мобильных сетях, где прямое Reality-соединение работает нестабильно.

У протоколов-туннелей есть общая слабость: долгое непрерывное соединение с одним адресом плохо переносит перегруженные мобильные сети. Достаточно короткого провала связи или обрыва «слишком длинной» сессии — и туннель приходится устанавливать заново, вместе со всеми задержками на рукопожатие.

XHTTP атакует именно эту слабость. Вместо одного длинного соединения — множество коротких HTTP-запросов, из которых складывается тот же туннель. Транспорт вырос из эксперимента SplitHTTP и в конце 2024 года стал частью Xray под именем XHTTP.

Год появления
2024
Транспорт
HTTP/1.1, HTTP/2, HTTP/3
Роль
Транспорт для VLESS
Есть в SomonVPN
Да

Транспорт, а не протокол

VLESS отвечает за то, что передаётся, XHTTP — за то, как это упаковано в сеть. Один и тот же VLESS-поток SomonVPN может доставлять через Reality, XHTTP, gRPC или WebSocket-TLS — содержимое туннеля от этого не меняется, меняется только способ доставки.

Как поток превращается в веб-трафик

Исходящие данные клиент отправляет серией POST-запросов, входящие получает длинным потоковым ответом сервера. Все запросы идут внутри TLS, поэтому шифрование не слабее, чем у прямого соединения.

Когда XHTTP выигрывает у Reality

На части мобильных сетей региона долгие TCP-сессии периодически обрываются или теряют скорость — под это попадает и Reality. XHTTP из-за своей запросной природы переносит такие сети заметно спокойнее, поэтому в SomonVPN он один из первых кандидатов Smart Connect на мобильном интернете. Совместимость с HTTP-инфраструктурой даёт и запасной козырь: XHTTP умеет работать через CDN, когда прямой маршрут до сервера оказывается длинным.

Ограничения

За живучесть приходится платить: HTTP-обвязка добавляет служебных байтов на каждый кусок данных, а сборка потока из отдельных запросов немного увеличивает задержку. Для мессенджеров, браузера и видео это несущественно, для онлайн-игр с жёсткими требованиями к пингу — заметнее. Универсального победителя среди транспортов нет, поэтому SomonVPN не назначает XHTTP принудительно, а даёт Smart Connect выбрать по результатам реальной проверки сети.

Три HTTP-транспорта SomonVPN

КритерийXHTTPgRPCWebSocket-TLS
Форма трафикаСерии обычных HTTP-запросовДолгий HTTP/2-потокДолгое соединение после HTTP-upgrade
Устойчивость к обрыву долгих сессийВысокаяСредняяСредняя
Работа через CDNДаОграниченноДа
Накладные расходыВыше из-за HTTP-обвязкиУмеренныеУмеренные

Частые вопросы

XHTTP медленнее, чем Reality?

Накладные расходы у HTTP-упаковки выше, поэтому на стабильной сети Reality обычно быстрее. Зато на загруженной мобильной сети серия коротких запросов держится ровнее одной длинной сессии, и XHTTP выигрывает по стабильности.

Нужно ли включать XHTTP вручную в SomonVPN?

Нет. Smart Connect сам пробует протоколы и транспорты в порядке, который подходит текущей сети, и на мобильном интернете XHTTP часто оказывается первым рабочим вариантом. Ручной выбор доступен, но не обязателен.

Чем XHTTP отличается от WebSocket-TLS?

WebSocket после начального HTTP-запроса превращается в одно долгое соединение — и наследует слабость долгих сессий. XHTTP остаётся набором коротких и средних HTTP-запросов на всём протяжении работы, поэтому обрыв сессии стоит ему одного запроса, а не всего туннеля.

Что такое SplitHTTP и куда он делся?

SplitHTTP — раннее имя этого транспорта в Xray. После доработки и расширения поддержки HTTP/2 и HTTP/3 его переименовали в XHTTP; в старых статьях и конфигурациях оба названия означают одну технологию. В подписке SomonVPN транспорт фигурирует уже под новым именем.

Попробуйте XHTTP в деле

В приложении SomonVPN протокол выбирается в один тап — или доверьте выбор Smart Connect.