Протоколы
Обновлено · Команда SomonVPN
XHTTP: туннель в форме обычных HTTP-запросов
XHTTP — транспорт экосистемы Xray, появившийся в 2024 году: он режет VPN-поток на части и передаёт их обычными HTTP-запросами, как это делает любой сайт с динамической подгрузкой. Для DPI такой трафик неотличим от активной работы веб-приложения. В SomonVPN XHTTP включён и часто оказывается рабочим вариантом на мобильных сетях, где прямое Reality-соединение душится.
У протоколов-туннелей есть общая уязвимость: долгое непрерывное соединение с одним IP-адресом само по себе выделяется на фоне обычного веб-сёрфинга. Оператору не обязательно понимать, что внутри, — достаточно замедлить или оборвать «слишком длинную» сессию. Операторские фильтры так и поступают: не разбирая содержимого, бьют по форме трафика.
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. Наблюдателю доступна только картина «клиент активно работает с HTTPS-сайтом», а её блокировка означала бы поломку половины веба.
Когда XHTTP выигрывает у Reality
На части российских мобильных сетей долгие TCP-сессии к неизвестным адресам периодически обрываются или замедляются — под это попадает и Reality. XHTTP из-за своей запросной природы такие фильтры проходит заметно стабильнее, поэтому в SomonVPN он один из первых кандидатов Smart Connect на мобильном интернете. Совместимость с HTTP-инфраструктурой даёт и запасной козырь: XHTTP умеет работать через CDN, когда прямой путь к серверу закрыт.
Ограничения
За живучесть приходится платить: HTTP-обвязка добавляет служебных байтов на каждый кусок данных, а сборка потока из отдельных запросов немного увеличивает задержку. Для мессенджеров, браузера и видео это несущественно, для онлайн-игр с жёсткими требованиями к пингу — заметнее. Универсального победителя среди транспортов нет, поэтому SomonVPN не назначает XHTTP принудительно, а даёт Smart Connect выбрать по результатам реальной проверки сети.
Три HTTP-транспорта SomonVPN
| Критерий | XHTTP | gRPC | WebSocket-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.