什么是代理中的https和http隧道方法?

时间:2017-10-22 12:30:18

标签: proxy http-proxy http-tunneling https-proxy-agent

proxy droid pic

这张图片是ProxyDroid应用程序,我看到了一些这样的代理软件。

我找到一些免费服务器用于http方法(http代理着名的一个)并找到服务器用于socks 4和5但是我找不到任何支持https和http隧道的服务器,换句话说我无法理解这些协议到底是什么

1 个答案:

答案 0 :(得分:1)

使用CONNECT请求通过HTTP代理进行代理HTTPS。使用此请求,指示HTTP代理创建到目标服务器的隧道。在此隧道内,客户端可以执行HTTPS所需的TLS握手:

> CONNECT example.org:443 HTTP/1.0
>

... proxy established TCP connection to example.org:443 ...

< HTTP/1.0 200 Connection established
<

... tunnel to target established
... proxy forwards data between client and target unchanged
<-> TLS handshake
<-> application data protected by TLS

HTTP隧道类似。通常,HTTP请求通过发送HTTP代理请求来代理:

> GET http://example.org/index.html HTTP/1.0
> Host: example.org
>

... proxy connects to target example.org and forwards request
... then sends response from target server back

< HTTP/1.0 200 ok
< Content-length: ...
< ...

使用HTTP隧道,客户端使用上述CONNECT方法创建到目标服务器的隧道并发送请求:

> CONNECT example.org:80 HTTP/1.0
>
< HTTP/1.0 200 Connection established
<

... tunnel established, send HTTP request over tunnel and get reply back

> GET /index.html HTTP/1.0
> Host: example.org
> ...
< HTTP/1.0 200 ok
< ...