跳到主要内容

1. 引言

HTTP 提供 CONNECT 方法 (见 HTTP 第 9.3.6 节), 用于创建到某个目的地的 TCP [TCP] 隧道, 并为 UDP 提供类似机制 [CONNECT-UDP]. 然而, 这些机制无法隧道化其他 IP 协议 [IANA-PN], 也无法传递 IP 头部字段.

本文档描述一种协议, 用于通过充当 HTTP 上 IP 专用代理的 HTTP 服务器来隧道化 IP. 该协议可用于多种用例, 例如远程访问 VPN, 站点到站点 VPN, 安全点到点通信, 或通用分组隧道.

IP 代理的运行方式类似于 UDP 代理 [CONNECT-UDP], 即代理本身由一个绝对 URL 标识, 该 URL 可以选择性地包含流量目的地. 客户端使用 URI Template [TEMPLATE] 生成这些 URL, 如第 3 节所述.

该协议通过使用 HTTP Datagrams [HTTP-DGRAM] 支持所有现有 HTTP 版本. 使用 HTTP/2 [HTTP/2] 或 HTTP/3 [HTTP/3] 时, 它使用 HTTP Extended CONNECT, 如 [EXT-CONNECT2] 和 [EXT-CONNECT3] 所述. 使用 HTTP/1.x [HTTP/1.1] 时, 它使用 HTTP Upgrade, 如 HTTP 第 7.8 节所定义.

本文档更新 [CONNECT-UDP], 以变更 "masque" well-known URI; 见第 12.3 节.