Что такое XHTTP и WebSocket в настройках VPN и что выбрать в 2026 году
Пункты «Транспорт», «Network», «ws» или «xhttp» встречаются в настройках профиля почти любого клиента на ядре Xray — v2rayNG, v2rayN, Hiddify, Happ, v2RayTun. У многих возникает соблазн «поиграть» с ними, когда VPN начинает работать хуже. Ниже — что эти пункты означают на самом деле, что они меняют для пользователя, когда переключение имеет смысл и как сделать это без поломки подключения.
Что это за пункты в настройках
- Протокол (VLESS, VMess, Trojan, Shadowsocks) определяет, как клиент и сервер узнают друг друга и передают данные.
- Транспорт (TCP, WebSocket, gRPC, XHTTP) определяет, в какую «упаковку» завёрнут этот трафик по дороге.
- Защита (TLS или Reality) отвечает за шифрование и маскировку поверх транспорта.
- WebSocket — старый проверенный транспорт с постоянным соединением, хорош для работы через CDN.
- XHTTP — более новый транспорт Xray, который передаёт данные обычными HTTP-запросами и работает с Reality.
- Транспорт задаёт сервер. В клиенте его можно только выбрать среди того, что сервер поддерживает.
Транспорт и протокол: в чём разница простыми словами
Представьте посылку. Протокол — это язык, на котором написано письмо внутри: VLESS, VMess или Trojan. Транспорт — это способ доставки: обычная коробка, мешок курьерской службы, контейнер. Защита — это пломба и маскировка: снаружи посылка выглядит как обычная коробка от известного магазина.
Получатель должен ждать посылку именно таким способом доставки. Если сервер настроен принимать контейнеры, а клиент отправит мешок, посылку не примут, даже если письмо внутри написано правильно.
Поэтому строка VLESS + Reality + TCP и строка VLESS + TLS + WebSocket описывают разные подключения, хотя протокол в обоих один и тот же. Для сервера это два разных входа, и каждый настроен отдельно.
Пару слов о третьем слое — защите. TLS — обычное шифрование, как у любого сайта с замком в адресной строке; для него серверу нужен собственный домен и сертификат. Reality устроен хитрее: сервер выдаёт себя за известный посторонний сайт, и при проверке со стороны соединение выглядит как обращение к этому сайту. Именно поэтому связка VLESS + Reality стала так популярна у сервисов, работающих в России, а выбор транспорта под неё ограничен: TCP, XHTTP или gRPC.
Что такое WebSocket в VPN
WebSocket — стандартная технология веба, которая позволяет браузеру и сайту держать постоянное двустороннее соединение. Её используют чаты, онлайн-игры, биржевые графики.
В VPN это выглядит так: клиент обращается к серверу как к обычному сайту по HTTP, просит «повысить» соединение до WebSocket и дальше гоняет по нему трафик VLESS или другого протокола. Снаружи это похоже на веб-приложение с постоянным подключением.
Сильные стороны:
- Работа через CDN. Крупные сети доставки контента умеют проксировать WebSocket. Тогда оператор видит соединение с адресом CDN, а не с VPN-сервером, и заблокировать сервер по адресу сложнее.
- Работа за веб-сервером. VPN можно спрятать за обычным сайтом на том же сервере.
- Широкая поддержка. WebSocket понимают практически все клиенты и серверы.
Слабые стороны: у WebSocket узнаваемый способ установки соединения, и с Reality он не работает — только с обычным TLS. Поэтому WebSocket обычно встречается в схемах с CDN или собственным доменом.
Несколько лет назад связка «VLESS или VMess + WebSocket + TLS через CDN» была одной из самых популярных у самостоятельно поднятых серверов. С появлением Reality многие сервисы перешли на TCP с Reality, а WebSocket оставили как запасной вход для случаев, когда прямой адрес сервера недоступен.
Что такое XHTTP и чем он новее
XHTTP — транспорт ядра Xray, который вырос из транспорта SplitHTTP. Главная идея: не держать одно постоянное соединение особого типа, а передавать данные обычными HTTP-запросами, причём отправку и получение можно разносить по разным запросам.
Что это даёт:
- Похожесть на обычный веб. Трафик выглядит как поток стандартных HTTP-запросов и ответов, без характерного «повышения» соединения.
- Совместимость с Reality. XHTTP можно использовать вместе с Reality, чего не умеет WebSocket.
- Работа через CDN. Как и WebSocket, XHTTP можно пропустить через CDN.
- Режимы работы. Параметр mode позволяет выбрать, как именно передаются данные. Обычно сервис оставляет режим auto, и клиент подбирает подходящий сам.
Режимов несколько, и знать их на уровне идеи полезно, чтобы не пугаться незнакомых слов в профиле:
- packet-up — отправка идёт множеством отдельных коротких запросов, а получение — одним длинным потоком. Самый совместимый вариант, проходит почти через любые прокси и CDN;
- stream-up — и отправка, и получение идут потоками, накладных расходов меньше, но нужна поддержка со стороны промежуточных узлов;
- stream-one — всё в одном запросе, ближе всего к классическому туннелю;
- auto — клиент выбирает режим сам, исходя из остальных настроек.
Минус XHTTP — молодость. Его поддерживают только достаточно свежие версии клиентов на ядре Xray, а старые версии приложений такой профиль либо не откроют, либо не подключатся.
Таблица: WebSocket, XHTTP, TCP и gRPC — для чего каждый
| Транспорт | Как устроен | Через CDN | С Reality | Где встречается |
|---|---|---|---|---|
| TCP (RAW) | Прямое соединение без дополнительной обёртки | Нет | Да, основной вариант | Большинство подписок VLESS + Reality |
| WebSocket | Постоянное соединение после HTTP-запроса | Да | Нет, только TLS | Схемы с CDN и собственным доменом |
| gRPC | Потоки внутри HTTP/2 | Да, если CDN поддерживает gRPC | Да | Запасные серверы у части сервисов |
| XHTTP | Обычные HTTP-запросы, отправка и получение могут идти раздельно | Да | Да | Новые серверы и запасные маршруты |
| HTTPUpgrade | Облегчённый вариант WebSocket | Да | Нет | Встречается реже |
Когда стоит переключать транспорт
Переключаться имеет смысл только между вариантами, которые дал сам сервис. Хорошие поводы:
- текущий сервер перестал подключаться, а у сервиса есть тот же сервер с другим транспортом;
- соединение регулярно рвётся на одной сети и стабильно на другой;
- сервис сам рекомендует перейти на новый транспорт после блокировок;
- поддержка попросила проверить другой вариант подключения.
Плохие поводы: «в интернете написали, что XHTTP быстрее», «хочу попробовать», «в настройках есть такой пункт». Без поддержки на сервере смена транспорта ничего не даст.
Учтите и то, что транспорт — не единственная причина проблем. Если не подключается ни один сервер сервиса, дело скорее в блокировке адресов, устаревшей подписке или сбое у самого сервиса. Транспорт стоит менять тогда, когда другие серверы и варианты работают, а конкретный вход — нет.
Как поменять транспорт в клиенте по шагам
Правильный способ — выбрать другой сервер из подписки, а не переписывать текущий:
- Обновите подписку, чтобы получить актуальный список серверов.
- Посмотрите названия серверов: сервисы часто пишут транспорт прямо в названии — XHTTP, WS, gRPC.
- Выберите сервер той же страны с другим транспортом и подключитесь.
- Проверьте работу, как описано ниже.
- Если в подписке нет вариантов с другим транспортом, напишите в поддержку и попросите альтернативный ключ.
Если вы пользуетесь собственным сервером и знаете, что на нём настроено несколько входов, профиль можно отредактировать вручную. В этом случае сначала сделайте копию профиля, в копии поменяйте поле «Транспорт» или «Network» и связанные параметры, а оригинал не трогайте.
Где эти пункты находятся в популярных клиентах
Названия различаются, но логика везде похожа. Транспорт хранится в свойствах конкретного сервера, а не в общих настройках приложения.
- v2rayNG на Android и v2rayN на компьютере. Откройте редактирование профиля: поле транспорта обычно называется network или «Транспорт», рядом — поля пути, хоста и режима.
- Hiddify. Транспорт видно в деталях профиля. В описании приложения в App Store прямо указана поддержка XHTTP.
- Happ, INCY, v2RayTun. Эти клиенты чаще работают с подписками целиком, и параметры сервера показываются в его карточке. Менять их приходится редко — сервис присылает готовые профили.
Если вы не нашли такого поля, значит, клиент рассчитан на работу с готовой подпиской. Это нормально: в большинстве случаев трогать транспорт и не нужно.
Почему не стоит вручную править параметры ключа
Профиль подключения — это набор параметров, каждый из которых должен совпадать с настройками сервера: адрес, порт, идентификатор, транспорт, путь, защита, ключи Reality. Ошибка в любом из них ломает подключение.
- Сервер не подстроится. Если в клиенте поменять ws на xhttp, сервер продолжит ждать WebSocket и отвергнет соединение.
- Параметры связаны. У WebSocket и XHTTP есть путь и хост, у gRPC — имя сервиса, у Reality — открытый ключ и идентификатор. Поменяв одно, придётся угадывать остальное.
- Подписка всё перезапишет. При следующем обновлении клиент вернёт исходные параметры, и ручные правки пропадут.
- Сложнее получить помощь. Поддержка будет искать проблему в ваших настройках, а не в сервере.
Где в ссылке vless:// указан транспорт
Ссылка вида vless://ID@адрес:443?type=xhttp&security=reality&mode=auto#Название состоит из частей. До знака @ — идентификатор пользователя, после — адрес и порт сервера. После знака вопроса идут параметры, разделённые символом &.
За транспорт отвечают:
type— сам транспорт: tcp, ws, grpc, xhttp или httpupgrade;pathиhost— путь и имя хоста для WebSocket, XHTTP и HTTPUpgrade;serviceName— имя сервиса для gRPC;mode— режим работы XHTTP.
Рядом стоят параметры защиты: security (tls или reality), sni, а для Reality ещё открытый ключ pbk и идентификатор sid. Для TCP с Reality часто указан flow со значением xtls-rprx-vision.
Смотреть на ссылку полезно, чтобы понять, какой транспорт у вашего сервера, но редактировать её не стоит по тем же причинам, что и профиль.
Как проверить, что соединение работает после изменений
- Подключитесь и дождитесь статуса «Подключено» без ошибок.
- Откройте сайт, который без VPN не загружается.
- Проверьте IP-адрес в любом сервисе определения адреса: должна отображаться страна сервера.
- Посмотрите встроенную проверку задержки в клиенте, если она есть: таймаут или ошибка означают, что сервер не отвечает на выбранном транспорте.
- Проверьте работу на Wi-Fi и на мобильной сети: транспорт, который проходит дома, может не проходить у оператора.
- Поработайте через новый сервер хотя бы несколько часов: некоторые проблемы проявляются не сразу, а через обрывы и переподключения.
- Если что-то не так, вернитесь к исходному серверу и обновите подписку.
Частые ошибки в настройках транспорта
- Смена транспорта без поддержки на сервере. Самая частая причина «VPN перестал работать после настройки».
- WebSocket вместе с Reality. Такое сочетание не работает: WebSocket используют с обычным TLS.
- Старая версия клиента для XHTTP. Если профиль с XHTTP не открывается или не подключается, сначала обновите приложение.
- Путь без начального слэша или с лишними символами. Параметр path должен совпадать с серверным буква в букву.
- Правка оригинального профиля вместо копии. Потом сложно вспомнить, какие значения были рабочими.
- Разные версии клиента на устройствах. На телефоне XHTTP-сервер работает, на компьютере нет — проверьте, что приложение обновлено везде.
- Смешивание профилей разных сервисов. Параметры одного сервиса не подойдут к серверу другого, даже если протокол и транспорт совпадают.
- Ожидание чуда от транспорта. Если блокируют адрес сервера, смена транспорта на том же адресе обычно не помогает — нужен другой сервер.
Вопросы и ответы
Нужно ли мне самому выбирать между XHTTP и WebSocket?
Как правило, нет: транспорт задаёт VPN-сервис на стороне сервера, и он уже прописан в вашей подписке или ключе. Если сервис даёт несколько вариантов одного сервера с разными транспортами, переключаться между ними имеет смысл, когда текущий перестал подключаться. Самостоятельно менять транспорт в настройках профиля бесполезно, если сервер его не поддерживает.
Что быстрее: XHTTP или WebSocket?
Однозначного ответа нет: скорость зависит от загрузки сервера, расстояния до него и режима работы XHTTP больше, чем от самого транспорта. WebSocket держит одно постоянное соединение с небольшими накладными расходами, XHTTP в некоторых режимах делает много отдельных запросов. На практике выбирают не по скорости, а по тому, какой транспорт стабильнее проходит в вашей сети.
Почему после смены транспорта VPN перестал подключаться?
Потому что сервер ждёт соединения строго определённого типа. Если в профиле вместо XHTTP указать WebSocket, а сервер настроен только на XHTTP, он просто не поймёт клиента. Верните исходные настройки, обновив подписку, или попросите у сервиса ключ с нужным транспортом.
Работает ли WebSocket через CDN?
Да, это одно из главных его достоинств: крупные CDN умеют проксировать WebSocket, и тогда оператор видит соединение с адресом CDN, а не с VPN-сервером. Но такой вариант должен быть настроен на стороне сервиса. Кроме того, соединения с крупными CDN в России тоже могут ограничивать, поэтому CDN-вариант работает не везде.
Поддерживают ли Happ и v2RayTun XHTTP?
Оба клиента построены на ядре Xray, где XHTTP есть. v2RayTun прямо заявляет поддержку всех транспортов Xray Core, а Happ перечисляет на сайте протоколы, но не транспорты. Проще всего проверить на практике: если сервис выдаёт XHTTP-сервер и он подключается в вашем клиенте, поддержка есть, — только держите клиент обновлённым.
Где в ссылке vless:// указан транспорт?
Транспорт задаётся параметром type после знака вопроса: type=tcp, type=ws, type=grpc или type=xhttp. Рядом стоят его настройки — path и host для WebSocket и XHTTP, serviceName для gRPC, mode для XHTTP. Параметр security показывает защиту поверх транспорта: tls или reality.