V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
httpbin - 协议调试工具
httpstatuses - 协议状态码查询
httpie - cURL-like tool for humans
Fiddler
keyword233
V2EX  ›  HTTP

关于 HTTP 代理的疑惑

  •  
  •   keyword233 · 2021-05-28 01:47:47 +08:00 · 2591 次点击
    这是一个创建于 1280 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 HTTP 隧道代理中,客户端可以单独指定目标服务器的 ip 么?还是只能把 host 交给代理服务器让代理服务器来解析对应 ip?

    代理服务器版本 squid/3.5.19

    8 条回复    2021-11-05 15:20:48 +08:00
    3dwelcome
        1
    3dwelcome  
       2021-05-28 02:28:05 +08:00
    理论上是可以的。HTTP 代理协议,第一步客户端通过 CONNECT 来请求代理服务器,传递的参数,就是连接的网站域名或 IP 地址。

    第二步才是正式让代理服务器,转发 GET/POST 之类的请求。
    araaaa
        2
    araaaa  
       2021-05-28 08:34:56 +08:00 via iPhone
    看代理客户端实现,看能否选择在本地解析域名
    qaz168000
        3
    qaz168000  
       2021-05-28 09:38:15 +08:00
    这个问题同样好奇,mark 一下
    SmiteChow
        4
    SmiteChow  
       2021-05-28 10:07:11 +08:00
    `只能把 host 交给代理服务器让代理服务器来解析`
    march1993
        5
    march1993  
       2021-05-28 11:04:56 +08:00 via iPhone
    看一下 http proxy 协议将知道了 不复杂的
    aladdindingding
        6
    aladdindingding  
       2021-05-28 13:52:49 +08:00
    connect 请求 起始行 CONNECT 后就是 host,然后代理会解析端口号 https 就是 443 http 就是 80,当然你也可以直接写 IP 地址加端口号,代理就会直接连接到目标主机以及端口
    hanssx
        7
    hanssx  
       2021-11-05 15:20:22 +08:00
    @aladdindingding 如果是 80 的话应该直接是 http 代理了吧,不是 http 隧道代理了吧?除非 CONNETC 指定的是 host 后面有加:80 ,就像你访问一个开在 8080 上面的 https 服务,你访问的时候 host 不加:8080 是不可能访问到的。
    hanssx
        8
    hanssx  
       2021-11-05 15:20:48 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5243 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:34 · PVG 17:34 · LAX 01:34 · JFK 04:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.