TL;DR
XHTTP(前称 SplitHTTP)是 Xray-core 2024+ 推出的传输层,HTTP/2 + HTTP/3 双栈 + 抗主动探测 + CDN 友好。适合:替换 WebSocket / gRPC 作为传输;套 Cloudflare CDN 隐藏真实 IP。客户端:Xray-core / sing-box / Mihomo 全套集成。
XHTTP 是 Xray 团队 2024+ 推出的传输层。本文按定位、配置、CDN 套用、对比五块讲清楚。
XHTTP 在传输层中的位置
| 传输 | 协议层 | CDN | 抗探测 | 多路复用 |
|---|---|---|---|---|
| XHTTP | HTTP/2 + H3 | ★★★★★ | ★★★★★ | ★★★★★ |
| gRPC | HTTP/2 | ★★★★ | ★★★ | ★★★★ |
| WebSocket | HTTP/1.1 升级 | ★★★★★ | ★★★ | ★★ |
| TCP | 裸 TCP | ★ | ★★★ | ★★ |
| HTTP-Upgrade | HTTP/1.1 | ★★★ | ★★★ | ★★ |
| QUIC | 裸 UDP | ★(Cloudflare 收费档) | ★★★ | ★★★★★ |
XHTTP 是当前传输层的最优解。
XHTTP 模式说明
mode = auto // Xray 自动选最优(推荐)
mode = packet-up // 上行单独连接(防 CDN 截断)
mode = stream-up // 上行流式
mode = stream-one // 双向单连接(最高性能)
新建议默认 auto,Xray 根据 CDN / 网络情况自选。
服务端配置(Xray)
{
"inbounds": [
{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{ "id": "YOUR-UUID", "flow": "" }
],
"decryption": "none"
},
"streamSettings": {
"network": "xhttp",
"security": "tls",
"xhttpSettings": {
"host": "your-domain.com",
"path": "/random-path-xxxxx",
"mode": "auto"
},
"tlsSettings": {
"certificates": [
{ "certificateFile": "/etc/ssl/cert.pem", "keyFile": "/etc/ssl/key.pem" }
]
}
}
}
]
}
客户端配置(Xray / sing-box / Mihomo)
Xray (v2rayN)
{
"outbounds": [
{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "your-domain.com",
"port": 443,
"users": [{ "id": "YOUR-UUID", "encryption": "none" }]
}
]
},
"streamSettings": {
"network": "xhttp",
"security": "tls",
"xhttpSettings": {
"host": "your-domain.com",
"path": "/random-path-xxxxx",
"mode": "auto"
}
}
}
]
}
sing-box
{
"outbounds": [
{
"type": "vless",
"server": "your-domain.com",
"server_port": 443,
"uuid": "YOUR-UUID",
"tls": { "enabled": true, "server_name": "your-domain.com" },
"transport": {
"type": "http",
"host": ["your-domain.com"],
"path": "/random-path-xxxxx"
}
}
]
}
Mihomo
proxies:
- name: vless-xhttp
type: vless
server: your-domain.com
port: 443
uuid: YOUR-UUID
network: xhttp
tls: true
servername: your-domain.com
xhttp-opts:
host: your-domain.com
path: /random-path-xxxxx
mode: auto
套 Cloudflare CDN
1. 域名转入 CF
域名 NS 改 Cloudflare,DNS 添加 A 记录指向 VPS IP,启用橙色云朵(代理)。
2. SSL/TLS 设置
CF 控制台 → SSL/TLS → 完全(严格)。
3. 客户端配置
address:写 CF 接入点 IP(或域名)host:写你的域名path:与服务端一致
4. 注意
- 免费 CF 不支持 H3 → XHTTP 自动降到 H2
- 大流量可能被 CF 风控,单 IP 月流量 < 100GB 为佳
XHTTP vs WebSocket 性能
| 维度 | XHTTP | WebSocket |
|---|---|---|
| 协议层 | HTTP/2 + H3 | HTTP/1.1 |
| 单连接复用 | ✅ 多路复用 | ❌ 单流 |
| 上下行 | ✅ 双向流 | ✅ 双向 |
| CDN | ✅ 完整 | ✅ 完整 |
| 抗 GFW | ★★★★★ | ★★★ |
| 延迟 | 较 WS 低 5-15ms | — |
实测下 XHTTP 比 WebSocket 性能略好、抗审查强很多。
常见报错
客户端连不上
- 检查 XHTTP path 是否一致
- TLS SNI 是否一致
- CF 是否开启橙色云朵代理
间歇性断流
- mode 切换到
auto或packet-up - CF 5 秒挑战拦截 → 关闭 CF 安全级别到「基本」
速度慢
- 检查 mode(stream-one 最快但 CDN 兼容性差)
- 换 H3 friendly 的接入点
XHTTP 配套订阅
- 配套订阅线路(含 XHTTP 节点) ← 推荐
- 订阅 URL 包含 XHTTP 协议字段,主流 GUI 客户端自动识别
来源与最后核对
- Xray 官方:xtls.github.io 文档「XHTTP transport」段
- sing-box 文档:sing-box.sagernet.org/configuration/shared/v2ray-transport
- Mihomo 文档:wiki.metacubex.one
- 对比 WebSocket / gRPC / Reality
本文最后实际验证日期:2026-05-20。