1000copy
V2EX  ›  问与答

关于 http 权威指南 提到的 HTTP 隧道(Tunnel)

  •  
  •   1000copy · Aug 10, 2015 · 5597 views
    This topic created in 3932 days ago, the information mentioned may be changed or developed.

    “隧道是建立起来以后,就会在两条连接之间对原始数据进行盲转发的http应用程序"

    全节看完,依旧不清不楚,却挠到痒处。

    这到底是什么玩意?

    9 replies    2015-08-10 16:45:49 +08:00
    ss098
        1
    ss098  
       Aug 10, 2015
    我也不知道这是什么玩意,但是根据这条话进行推测,可以推测出:

    - 这是类似 HTTP 反向代理的东西
    - 这是类似端口转发的东西
    zrp1994
        2
    zrp1994  
       Aug 10, 2015
    前两天刚好在做这个,我感觉可以这么理解。。。HTTP隧道就是一种代理,其实并不负责对HTTP请求进行解析和处理,只是完完全全的将请求的内容进行转发,就像一根水管而不是漏斗或者筛子。如果A机器通过隧道代理机器B访问机器C,那么A机器几乎感觉不到B的存在,C也是如此,可以近似地看成A和C直连。
    tony1016
        3
    tony1016  
       Aug 10, 2015
    应该就是http代理https请求的那一套吧。利用http connect建立起来的连接,直接传输Https请求
    imink
        4
    imink  
       Aug 10, 2015
    我看到这块也是不明不白。直接看英文原版会好些吧。
    tabris17
        5
    tabris17  
       Aug 10, 2015
    大概说的是 HTTP 的 connect 请求把
    ahbcd112
        6
    ahbcd112  
       Aug 10, 2015
    就像客户机及服务器建了一条通道一样(虽然在物理上会有可能经过多个结点),再客户机,把所有的数据流身服务器(请求报文数据),服务器接收到请求报文后,再响应数据流,把数据流流向客户机(响应报文)。就这样子。
    PS:HTTP属于应用层的东西,不关注底层是怎么数据流转的
    learnshare
        7
    learnshare  
       Aug 10, 2015
    只负责转发数据,但不管数据是什么
    simpx
        8
    simpx  
       Aug 10, 2015
    就是http connect请求

    tcp建连好后,client发个"CONNECT 123.123.123.123:80 HTTP/1.1",server回复一个"HTTP/1.1 200"

    之后client往server发的任意数据,server都会转发给123.123.123.123:80
    yvanhe
        9
    yvanhe  
       Aug 10, 2015 via Android
    亏我上次看完了 一点也想不起来了……
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   946 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 19:37 · PVG 03:37 · LAX 12:37 · JFK 15:37
    ♥ Do have faith in what you're doing.