Что такое XHTTP и WebSocket в настройках VPN и что выбрать в 2026 году

Опубликовано · Обновлено · Команда What About VPN

Пункты «Транспорт», «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 быстрее», «хочу попробовать», «в настройках есть такой пункт». Без поддержки на сервере смена транспорта ничего не даст.

Учтите и то, что транспорт — не единственная причина проблем. Если не подключается ни один сервер сервиса, дело скорее в блокировке адресов, устаревшей подписке или сбое у самого сервиса. Транспорт стоит менять тогда, когда другие серверы и варианты работают, а конкретный вход — нет.

Как поменять транспорт в клиенте по шагам

Правильный способ — выбрать другой сервер из подписки, а не переписывать текущий:

  1. Обновите подписку, чтобы получить актуальный список серверов.
  2. Посмотрите названия серверов: сервисы часто пишут транспорт прямо в названии — XHTTP, WS, gRPC.
  3. Выберите сервер той же страны с другим транспортом и подключитесь.
  4. Проверьте работу, как описано ниже.
  5. Если в подписке нет вариантов с другим транспортом, напишите в поддержку и попросите альтернативный ключ.

Если вы пользуетесь собственным сервером и знаете, что на нём настроено несколько входов, профиль можно отредактировать вручную. В этом случае сначала сделайте копию профиля, в копии поменяйте поле «Транспорт» или «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.

Смотреть на ссылку полезно, чтобы понять, какой транспорт у вашего сервера, но редактировать её не стоит по тем же причинам, что и профиль.

Как проверить, что соединение работает после изменений

  1. Подключитесь и дождитесь статуса «Подключено» без ошибок.
  2. Откройте сайт, который без VPN не загружается.
  3. Проверьте IP-адрес в любом сервисе определения адреса: должна отображаться страна сервера.
  4. Посмотрите встроенную проверку задержки в клиенте, если она есть: таймаут или ошибка означают, что сервер не отвечает на выбранном транспорте.
  5. Проверьте работу на Wi-Fi и на мобильной сети: транспорт, который проходит дома, может не проходить у оператора.
  6. Поработайте через новый сервер хотя бы несколько часов: некоторые проблемы проявляются не сразу, а через обрывы и переподключения.
  7. Если что-то не так, вернитесь к исходному серверу и обновите подписку.

Частые ошибки в настройках транспорта

  • Смена транспорта без поддержки на сервере. Самая частая причина «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.