Оформить доступ
Параметр строки · type

Поле type: как упакован поток

Это ответ на вопрос «в какой обёртке данные едут до сервера». Самый простой вариант — без обёртки вовсе, и тогда в строке стоит короткое tcp. Бывают обёртки посложнее — тогда там другое слово.

Короткий ответ

Упаковка и защита — разные поля и разные вещи. Их путают чаще всего.

  • type отвечает за форму передачи, а не за то, закрыто ли содержимое. За закрытость отвечает соседнее поле.
  • Значение выбирает сервер. В приложении переключателя упаковки нет, и вводить руками ничего не требуется.
  • Значение обязано совпасть. Как и с любым другим параметром: не совпало — подключения нет.
  • На скорость это влияет слабо. Разница между современными способами передачи измеряется процентами, а разница между свободной и загруженной серверной точкой — разами.

Почему рядом с tcp часто спрашивают про «none»

Потому что это два соседних поля строки, и их читают как одно словосочетание.

Первое слово говорит про упаковку, второе — про защитный слой. И вот второе как раз важно: если защитного слоя нет, содержимое ничем не закрыто.

Голый вариант в жизни почти не встречается

В рабочих связках защитный слой ставят всегда — иначе передавать нечем закрытое содержимое просто небезопасно.

Если такая строка попала к вам из открытого списка, это ещё один довод её не использовать: что вообще происходит с такими строками.

Зачем бывают обёртки посложнее

Затем, что защитный слой не обязан стоять на самом сервере.

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

В такой схеме поток заворачивают в обёртку, которую та сеть понимает и пропускает: обычно это WebSocket — постоянное веб-соединение — или gRPC, способ передачи, принятый у служебных сервисов.

И вот здесь наши сведения кончаются

Мы описали серверный принцип — то, ради чего такую схему поднимают.

Как ведёт себя в ней само приложение, не описано ни у разработчика, ни в открытых источниках.

Поэтому ни советов, ни обещаний по этой части здесь не будет. Придуманный ответ дороже отсутствующего — и в справочнике, и на практике.

А если в моей строке слово, которого здесь нет

Такое возможно: набор способов передачи расширяется, и в строках встречаются новые имена — например xhttp.

Проверяемых сведений о них у нас нет ни одного, поэтому мы не пишем про них ничего — ни хорошего, ни плохого. Появится проверяемый источник — появится и разбор.

Что это значит для вас на практике

СитуацияЧто делать
В строке стоит tcpНичего. Это самый обычный случай
В строке стоит незнакомое словоТоже ничего: значение выбрал сервер, и приложение его понимает или нет
Подключение не поднимаетсяДело не в значении поля, а в строке или сервере целиком
Хочется «переключить на другой способ»Нельзя: сервер ждёт ровно того, на что настроен
Кажется, что дело в скоростиСмотреть надо на серверную точку, а не на способ упаковки

Короткие ответы

Что быстрее — простая упаковка или сложная?

Разница между способами передачи мала и измеряется процентами. Загруженность серверной точки влияет на порядок сильнее.

Где в приложении переключить способ передачи?

Нигде. Переключателя нет: всё, что нужно, лежит внутри строки, и адреса с портами вводить руками тоже не требуется.

Это поле как-то связано с защитой?

Нет, это разные поля. Даже самая хитрая упаковка ничего не закрывает — закрывает защитный слой.

Почему тогда про этот параметр столько спрашивают?

Потому что он стоит в строке первым среди понятных на вид слов, и его принимают за главный. Главный он не больше остальных.