传输方式有哪些?WebSocket、gRPC、HTTP/2 与 XHTTP 一次讲清

先说结论

代理传输方式是节点里与协议分开的一层,决定数据怎样被包起来传输,常见的有 WebSocket、gRPC、HTTP/2、HTTPUpgrade 和 XHTTP。协议能搭配哪些传输方式,以内核文档里的兼容表为准。

节点里的 ws、grpc、xhttp,说的都是代理传输方式:它和协议是两层东西。协议管认证和转发,传输方式管数据怎样被包起来送出去。看懂这一层,你才明白节点链接里的 type=ws 或 network: grpc 在说什么,也才知道客户端缺了哪一项会连不上。下面依据官方文档,把 WebSocket、gRPC、HTTP/2、HTTPUpgrade、XHTTP 和 QUIC 一次讲清。

代理传输方式是什么:协议、传输与传输安全是三层

一条节点的配置,可以拆成三个相互独立的部分:

层次 负责什么 例子 节点里常见的写法
协议 认证与转发 VMess、VLESS、Trojan vmess://、vless://、trojan:// 开头
传输方式 数据怎样被包起来传输 ws、grpc、h2、httpupgrade、xhttp type=ws、network: grpc,常带 path、host、serviceName
传输安全 外层的加密 tls、reality security=tls、security=reality

字段名因客户端而异,不要照搬别人截图里的叫法。链接里的每一段怎么拆,见 节点链接怎么读。三层可以组合,但不是任意组合:Xray 的 协议与传输方式兼容表 就是在回答“哪几层能凑在一起”,后面会摘出其中最有用的部分。协议本身的资料见 VLESS 协议、VMess 协议 和 Reality 协议。

五种常见传输方式,逐个看官方文档怎么说

下面一种一小节,只写文档里写明的事实,顺序不代表优劣。

遇到 websocket 节点:ws 借 HTTP Upgrade 握手上路

WebSocket 是一个标准协议,RFC 6455 说明它先经过开场握手,之后是基础的消息帧,层叠在 TCP 之上。代理里的 ws 传输就是借这套标准来承载数据,所以常见的 websocket 节点会带 path 和 host 两类参数。词典里的 WebSocket 有简短解释。

按 Xray 文档:WebSocket,它是标准 WebSocket 传输,可以被 Nginx 等 HTTP 服务器按路径转发,也可以被 VLESS 的 fallbacks path 分流;V2Fly 的 WebSocket 页 也有同样的描述。兼容表里,vmess、vless、trojan 对它都是支持,shadowsocks 是“部分支持”,原因是没有启用 XUDP 时,UDP 会绕过传输层;Reality 则标为不支持。

Xray 文档同时建议改用 XHTTP,理由是 ALPN 为 http/1.1 的特征明显。注意这个建议是对搭建者说的。作为使用者,节点是什么传输,你就确认客户端支不支持,不要因为一条建议就去改节点。

grpc 传输:把数据放进 gRPC 调用,靠 HTTP/2 复用连接

grpc 传输的做法,是把代理数据放进 gRPC 调用里,底层是 HTTP/2,自带连接复用。gRPC 自身不是 IETF 标准,规范放在 grpc 仓库的 PROTOCOL-HTTP2.md 里,HTTP/2 本身见 RFC 9113。词典里的 gRPC 对术语有简短解释。

几处文档里写明的细节,决定了你在节点里会看到什么:

  • 反向代理需要支持 HTTP/2,Xray 文档提到 Nginx、Caddy 都可以转发;V2Fly 文档给出的分流路径形如 /${serviceName}/Tun,所以节点里会出现 serviceName 这一栏。
  • Xray 文档写明 gRPC 传输不支持指定 Host,也不支持回落,并提醒 gRPC 服务有被主动探测的风险,同样建议改用 XHTTP。
  • sing-box 文档说,标准 gRPC 的兼容性好但性能较差,默认不编入,需要另行构建。这是文档的说法,不是梯子岛的测试结论。
  • 兼容表里,vmess、vless、trojan 对它都是支持,Reality 也是支持。

HTTP/2 与 HTTPUpgrade:两种较少被单独提起的传输

这两种传输名气不大,但节点里仍可能出现。放在一起对照最清楚:

对比点 HTTP/2(h2) HTTPUpgrade
做法 直接用 HTTP/2 承载代理数据 用 HTTP/1.1 的 Upgrade 请求与响应完成切换,之后直接传数据
官方文档怎么说 V2Fly 文档:按 HTTP/2 的建议,两端需开 TLS;后来服务端不再强制,可由前置网关做 TLS,内部走明文 h2c 官方文档的描述:不实现 WebSocket 的其余部分,同样可被 CDN 或 Nginx 反代,设计上建议配合 TLS
当前的文档状态 Xray 现行传输文档已不再把它列为独立方式,gRPC 与 XHTTP 仍基于 HTTP/2 V2Fly 传输文档未列出
Mihomo vmess、vless 页含 h2,trojan 页只列 ws 与 grpc;h2 传输层未实现多路复用,需要复用时建议用 gRPC 或 sing-mux 以 ws-opts 下的 v2ray-http-upgrade 选项启用,没有独立的 network 取值
sing-box V2Ray Transport 里的 HTTP 传输,未配置 TLS 时使用明文 HTTP 1.1 V2Ray Transport 里有 HTTPUpgrade

HTTPUpgrade 的升级机制来自 HTTP 语义规范,RFC 9110 的 7.8 节说明 Upgrade 头字段用于在同一连接上从 HTTP/1.1 切换到其他协议。文档形容它比 WebSocket 省掉了其余部分,因此效率更高;体感上有没有差别,梯子岛没有数据。Reality 与 HTTPUpgrade 的组合,兼容表标为不支持。

xhttp 是什么:由 SplitHTTP 演进而来的 Xray 传输

XHTTP 是 Xray 的 HTTP 传输层。官方长文 XHTTP: Beyond REALITY 讲了它的来历:前身 SplitHTTP 基于“分包上行、流式下行”的思路开发,后来实现了上下行分离,并更名为 XHTTP。Xray 文档站的 xhttp 页内容只是指向这篇长文,所以以长文为准。

按这篇长文和兼容表,能核对到的要点有:

  • 三种模式:packet-up、stream-up、stream-one。每种模式适合什么场景,长文里逐一讲了,本文不转述细节,节点里的 mode 字段照提供方给的填。
  • 上下行分离:上行和下行可以走不同的连接,长文称这是在更名为 XHTTP 的过程中实现的。
  • 可跑在多种 HTTP 版本上:HTTP/1.1、h2、h3。服务端默认只监听 TCP 处理 H1 与 H2,客户端 alpn 只设 h3 时才用 QUIC 的 H3,HTTP/3 本身见 RFC 9114。
  • 能搭配 Reality:兼容表中 xhttp 与 none、tls、reality 都是支持,vmess、vless、trojan 也都是支持。
  • 其他内核:Mihomo 的 vless 页写明 network 支持 xhttp,传输页给出 xhttp-opts 和三种 mode,默认只支持 h2,要用 h3 需设 alpn: [h3];sing-box 与 V2Fly 的传输文档里没有列出 XHTTP。

“没有列出”不等于“不支持”,但也不能反过来假定它支持。拿到 xhttp 节点,先去查客户端用的内核。

QUIC 这个词,在这里有两个意思

节点和教程里的 QUIC 可能指两件事:

含义 资料怎么写 在哪里会遇到
IETF 标准化的 QUIC RFC 9000:带流控的流、低延迟建连、路径迁移,数据包承载于 UDP 数据报 Hysteria2、TUIC 直接建立在它之上,见 Hysteria2 协议 与 TUIC 协议
V2Ray 系内核里名为 QUIC 的传输选项 V2Fly 的 QUIC 页:强制开启 TLS,使用时可关闭 VMess 的加密 旧教程和 V2Fly、sing-box 的传输列表

后者在 Xray 现行传输配置文档里没有独立列出,Mihomo 的 network 取值里也没有 quic;Xray 的 hysteria 传输与 XHTTP 的 h3 模式,则都用到了 QUIC。顺带一提,V2Fly 把它写作 Quick UDP Internet Connection,而 RFC 9000 明确说这个名称不是缩写。词典里的 QUIC 有简短解释。

代理传输方式怎么与协议搭配:兼容表和内核差别

先看 Xray 兼容表里摘出来的部分:

传输方式 VMess、VLESS、Trojan Shadowsocks Reality
WebSocket 支持 部分支持 不支持
gRPC 支持 资料待核实 支持
HTTPUpgrade 支持 资料待核实 不支持
XHTTP 支持 资料待核实 支持

再看各家文档对传输方式的收录情况。这张表只说“文档里有没有”,不说“好不好用”:

传输方式 Xray V2Fly sing-box Mihomo
WebSocket 有 有 有 有
gRPC 有 有 有,标准 gRPC 默认不编入 有
HTTP/2 不再单列 有 有,叫 HTTP vmess、vless 有
HTTPUpgrade 有 未列出 有 以 ws-opts 选项启用
XHTTP 有 未列出 未列出 vless 页有
QUIC 不单列 有 有 无此取值

某款客户端到底能不能用,要把“内核”和“客户端界面”两层都对上。内核的区别可以顺带读 Mihomo 与 Xray-core 对比,具体客户端的支持情况查 协议支持矩阵。

拿到节点后,怎么自己核对代理传输方式

  1. 打开节点详情或链接,写下三项:协议、传输方式、传输安全。比如“协议 VLESS,传输 grpc,安全 reality”。
  2. 对照上面的兼容表,看这三项能不能凑在一起。Reality 加 ws 这类组合,按 Xray 兼容表本来就不成立,应向提供方确认。
  3. 对照内核收录表,确认客户端所用的内核有这种传输。内核太旧的话,也可能认不出较新的传输。
  4. 核对子参数:path、host、serviceName、mode 这些,复制时别带多余的空格或换行。
  5. 手里有一串链接想拆开看,可以用 节点解析 这个工具,使用前先读工具页上的说明。
  6. 连上后,用 IP 与 DNS 检测 看出口和 DNS 走向。梯子岛只教方法,不提供检测结果。
  7. 仍然不通,按 梯子连不上怎么办 的顺序往下查。

下一步:按你手里的节点类型接着读

记住这条分层的思路:先分清协议、传输方式和传输安全,再去查每一层的官方说明,就不会被一串缩写绕晕。

这篇没有覆盖的

  • 各内核对传输方式的支持会随版本变化,本文只转述文档,字段名以当前官方文档为准。
  • 没有任何一种传输方式的速度、稳定性或抗探测数据,梯子岛不给它们排优劣。
  • 本文不教服务端、反向代理或 CDN 的配置,只讲客户端节点里这一栏怎么读。

本文引用的官方来源

  1. Xray 文档:传输配置与兼容表(xtls.github.io)
  2. XHTTP: Beyond REALITY(官方长文)(github.com)
  3. Xray 文档:WebSocket(xtls.github.io)
  4. Xray 文档:gRPC(xtls.github.io)
  5. sing-box 文档:V2Ray Transport(sing-box.sagernet.org)
  6. Mihomo 文档:传输配置(wiki.metacubex.one)

以上链接均为官方页面,梯子岛在 2026-10-09 核对过;个别网站会拦截自动化访问,用浏览器直接打开即可。平台规则可能随时调整,以官方页面当前内容为准。

代理传输方式常见问题

节点链接里的 type=ws 是什么意思?

type=ws 表示这条节点的传输方式是 WebSocket。它和协议是两层东西:vmess、vless、trojan 这类协议负责认证与转发,ws 负责数据怎样被包起来传输。同理 type=grpc 表示传输方式是 gRPC。不同客户端对这个字段叫法不一,有的写成 network。

WebSocket 和 gRPC 传输有什么区别?

WebSocket 先用 HTTP Upgrade 握手,之后在同一条连接上收发消息帧。gRPC 把数据放进 gRPC 调用,底层是 HTTP/2,自带连接复用。两者都能被支持相应协议版本的反向代理转发,但字段、路径写法和内核支持范围不同,导入前要核对客户端文档。

XHTTP 是什么,所有客户端都支持吗?

XHTTP 是 Xray 的 HTTP 传输层,由 SplitHTTP 演进而来,有 packet-up、stream-up、stream-one 三种模式,可以跑在 HTTP/1.1、h2 和 h3 上。不是所有客户端都支持:sing-box 与 V2Fly 的传输文档未列出它,Mihomo 的 vless 页写明支持。拿到 xhttp 节点前先查内核。

Reality 节点可以用 WebSocket 传输吗?

按 Xray 兼容表,Reality 与 websocket、httpupgrade 都标为不支持,与 grpc、xhttp 则标为支持。所以一个节点既写 Reality 又写 ws,多半是配置有误或资料已经过期,应当向提供方确认,而不是自己随手改字段碰运气。

HTTP/2 传输和 gRPC 是一回事吗?

不是。HTTP/2 传输是直接用 HTTP/2 承载代理数据,V2Fly 文档里有专门的页面;gRPC 是把数据放进 gRPC 调用,底层同样用 HTTP/2。Xray 当前的传输配置文档已不再把 h2 列为独立传输方式,Mihomo 的 h2 传输层也未实现多路复用。

QUIC 传输和 Hysteria2 里的 QUIC 一样吗?

不完全一样。QUIC 是 IETF 标准化的 UDP 传输协议,Hysteria2 与 TUIC 直接建立在它之上。V2Ray 系内核里另有一个名为 QUIC 的传输选项,文档要求强制开启 TLS。看到节点写着 quic,先确认它指的是哪一种,再核对客户端支持。

接着读

文中出现的术语

接下来去哪儿?

找官方入口去网址导航,想核对仓库和版本看GitHub 项目导航;需要现成的机场,机场目录收了 28 家的价格与线路资料,性价比机场、便宜机场、VPN 机场分别有专项页。