现在的位置: 首页 > 综合 > 正文

HttpTunnel技术介绍

2018年02月03日 ⁄ 综合 ⁄ 共 741字 ⁄ 字号 评论关闭

1. 概述

HttpTunnel(也叫Http隧道,Http穿梭),是这样一种技术: 它用HTTP协议在要通信的Client和Server建立起一条”Tunnel”,然后Client和Server之间的通信,都是在这条Tunnel的基础之上。

HttpTunnel通常被用在受限的网络环境中,比如在NAT环境中的Client,受防火墙限制的环境中的Client等,在这样的环境中,Client不能直接连接到公网(WAN)的Server,这时候就可以通过HttpTunnel技术,来解决上述问题。
2. 原理

上图是HttpTunnel技术的基本原理,它基本的工作过程主要分为以下几个步骤:
(1)Client向ProxyServer发送要连接到Server的请求(Http协议)
(2)Proxy Server向实际的Server发送连接请求(Http协议)
(3)上述两步成功后,就相当于在Client和Server之间存在了一条连通的Tunnel(如上图中的蓝色虚线所示)
(4)后续Client和Server就可以直接进行数据的收发,协议由Client和Server自己约定,与HttpTunnel无关

3. 实现方法
(1) 用Http CONNECT方法的实现
Http协议支持一种叫CONNECT的方法,在上面的原理介绍的第一个步骤中,Client告诉Proxy Server来连接Server的过程中,用的就是Http的CONNECT。下面是一个示例:

注意,Http的CONNECT并不是所有的Proxy Server都实现了,所在这里选择Proxy Server的时候需要注意一下。通常所用到的Proxy Server如Squid和Nginx,Squid是支持Http CONNECT,而Nginx就是不支持的。

抱歉!评论已关闭.